2012-05-21 2 views
2

Так что я сделал некоторые исследования по этому вопросу, и я не мог найти подходящий ответ и спрашивает, есть ли еще способ сделать это:Использование ImageMagick для Thumbnail изображения в зависимости от формата изображения

В принципе мне нужно создавать эскизы для больших файлов (файлы adobe cs, файлы изображений, видео и т. д.) после их загрузки на веб-сайт. Я сделал эту часть, и она отлично работает с использованием нескольких методов многопоточности, чтобы пользователь не дождался завершения загрузки.

В настоящее время я изменяю размер всех миниатюр до квадратного размера 250x250. Это команда IM:

convert -quiet examplefile.extn 
-thumbnail x250 
-resize 250x< 
-background white 
-gravity center 
-crop 250x250+0+0 
+repage 
-unsharp 0x.5 
-quality 80 
-flatten 
thumbnail.jpg 

кажется удивительным на видео и PSD файлах;) Хорошо, таким образом получается, некоторые требования сайта изменились (dontya любит, когда это произойдет), и теперь мне нужно, чтобы изменить размер изображения на основе? по их пропорциям. Условия:

Если высота/ширина> 1, задайте миниатюру WIDTH до 250 со свободной высотой (макс. 500). Если высота/ширина < = 1, установите значение ВЫСОТЫ до 250 со свободной шириной (макс. 500).

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

ответ

1

Варианты изменения размера здесь: http://www.imagemagick.org/script/command-line-processing.php#geometry

convert -quiet examplefile.extn -thumbnail 250x250 +repage -unsharp 0x.5 -quality 80 thumbnail.jpg 

Ваш код кажется немного более сложным - попробуйте, выше которого будет держать пропорции и максимальный размер будут 250px.

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

-thumbnail {$width}x{$height} 
+0

Я хотел бы избежать другой операции ввода-вывода, но похоже, что мне придется рассчитывать на вычисление размера вне IM. Спасибо также за советы по сокращению моей IM-команды =) – Sebbo

Смежные вопросы