Каков наилучший способ динамического изменения размеров изображений? - PullRequest
1 голос
/ 23 ноября 2011

Проблема: У нас есть большие изображения продуктов, для которых мы хотим иметь миниатюры различного размера, но не хотим зацикливаться на пакетной обработке изображений в Photoshop. Нам нужен динамический способ или изменение размеров изображений, которые не добавят дополнительное время загрузки, пока изображения обрабатываются на сервере.

Amazon делает это с помощью своего решения для электронной коммерции. Когда вы загружаете изображение, оно изменяет размер изображения в квадратный формат, а затем дает вам все мыслимые размеры. например 150x150, 149x149 и т. д. Начиная с самого большого размера изображения, поэтому, если вы загрузите изображение 1024x900, оно изменит его размер до 1023x899, 1023x1203 (при необходимости добавьте пробел), а затем измените размер каждого пикселя, пока не достигнет 1x1px. Некоторые хранят все изображения на сервере (если он это делает)

"Должен быть лучший путь"

Есть ли какие-либо предложения о том, как лучше всего изменить размер изображения на лету?

1 Ответ

3 голосов
/ 10 января 2012

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

Библиотека с открытым исходным кодом ImageResizing.Net позволяет динамически обрезать / масштабировать и изменять размер , а с помощью плагина WIC часто можно использовать время возврата туда и обратно менее 20 мс. Это трудно победить. Он также предлагает кеширование дисков и поддержку Amazon CloudFront & S3, если вы хотите масштабироваться с большими людьми. Он используется веб-сайтами 20–60 тыс., А на некоторых серверах размещается свыше 20 ТБ изображений.

Я почти уверен, что Amazon использует динамическое изменение размера кэшированных изображений для своего решения электронной коммерции. Предварительная генерация версий изображений - это решение 2001 года.

[полное раскрытие: я автор.]

...