эскизы лучшего качества из больших файлов изображений - PullRequest
2 голосов
/ 21 апреля 2009

Я показываю изображения с других сайтов в виде миниатюр. Для этого я отображаю их в меньшем теге img, чтобы браузер уменьшал их размер.

Проблема в том, что качество этих изображений (которые я не контролирую) ухудшается. Также они выглядят намного лучше в FF и Safari, чем в IE.

Есть ли способ сделать эти изображения лучше, не кэшируя их на моем сервере? (например, библиотека JavaScript, которая изменяет размер с лучшим качеством)? Любая идея высоко ценится.

Ответы [ 5 ]

4 голосов
/ 21 апреля 2009

Алгоритм изменения размера изображения по умолчанию в IE не так хорош - его можно изменить, изменив запись в реестре, но, конечно, это не под вашим контролем.

Однако, по-видимому, это также может быть вызвано, чтобы сделать лучшее изменение размера изображения с помощью CSS

img { -ms-interpolation-mode: bicubic; }

источник: http://edmondcho.com/blog/2009/03/17/internet-explorer-image-resizing-tip/

4 голосов
/ 21 апреля 2009

Быстрый поиск в Google показывает, что в IE7 вы можете решить проблему с качеством изображения: http://devthought.com/tumble/2009/03/tip-high-quality-css-thumbnails-in-ie7/

2 голосов
/ 21 апреля 2009

Одна вещь, которую я не заметил, упоминалась другими - вы не меняете размер изображения, вы просто отображаете его в меньшем пространстве. Допустим, вы вытаскиваете чрезвычайно большой файл изображения (5 МБ) и отображаете его в формате 1 x 1 - это все еще 5 МБ!

Написание решения для кэширования этих изображений не составит особого труда - и избавит вас от юридических последствий и смущения. Если бы я увидел твой сайт в моих лог-файлах и понял, что ты снимаешь мои изображения, ты был бы Goatse'd - трудно.

2 голосов
/ 21 апреля 2009

Единственный способ получить контроль - изменить размер самостоятельно. Различные браузеры будут использовать разные алгоритмы, некоторые с нечеткой маскировкой, некоторые без. Фильтры, используемые после изменения размера, контролируют большую часть этого. Специальная маркировка CSS может в некоторой степени контролировать это.

Javascript на самом деле не может справиться с этим, но использование Flash или чего-то подобного позволило бы это. Вы бы лучше контролировать изображение. Тем не менее, вы потеряете «образность» в HTML.

1 голос
/ 21 апреля 2009

Если вы работаете с исходным изображением и просто меняете размеры на клиенте, хорошего способа сделать это не будет.

Теперь, помимо возможных юридических последствий использования изображений других сайтов, вы можете посмотреть на простой процесс кэширования, быстро изменить размер изображения и сохранить соотношение сторон, чтобы обеспечить хорошее отображение. Это также помогает уменьшить пропускную способность, которую вы используете с других сайтов.

...