-size 200x200 говорит декодеру jpeg, что нам нужно только это разрешение, чтобы оно могло экономить память и быстрее читать исходное изображение
-thumbnail 100x100^ быстрое изменение размера делает самую короткую сторону 100
- gravity center центрировать следующую операцию
-extent 100x100 применить изображение к холсту 100x100
+profile "*" не сохраняйте метаинфо в jpeg (уменьшая полученное изображение)
Когда я использовал его в командной строке (графическая магия один), я получил изображение в центре, два боковых элемента заполнены белым. Не тот, который описан в вопросе. Я делаю что-то неправильно?
Umut Benzer 12 лет назад
3
Если вы используете Windows, вы должны удвоить символ ^, чтобы избежать его. Например: - миниатюра 100х100 ^^
George Filippakos 11 лет назад
2
Почему бы не размер 100x100?
Hello World 10 лет назад
3
@HelloWorld: Read "Imagemagick Geometry". Google it, it will be easy find.
saurabheights 7 лет назад
0
Альтернатива, вместо того, чтобы раскладывать изображение, чтобы оно соответствовало требуемому размеру миниатюры, состоит в том, чтобы вместо этого отрезать части изображения, которые не соответствуют окончательному размеру.
Конечно, это означает, что вы на самом деле теряете некоторые части исходного изображения, в частности края изображения, но в результате вы получаете увеличенный эскиз центральной части изображения. Обычно это (но не всегда) основной предмет изображения, поэтому это практичный метод создания миниатюр.
Начиная с IM v6.3.8-3 был добавлен специальный флаг опции изменения размера '^', чтобы сделать это проще. Мы просто изменяем размер, используя этот флаг, затем обрезаем части изображения, которые выходят за пределы желаемого размера.
Возможно ... какой-то тип описания?
Hello71 13 лет назад
7
Я люблю откровенные ответы Игнасио :-)
Ciro Santilli 新疆改造中心 六四事件 法轮功 7 лет назад
0
9
Reinaldo Guedes
Это более простой способ сделать это:
Следующая команда изменяет размер меньшей стороны до 100 пикселей и обрезает квадрат 100x100. Вы можете добавить -stripкоманду, чтобы уменьшить размер файла.
В отличие от других, он не пытается сохранить память. Вместо этого он делает то, что вы хотите, и не более. Плюс, это не улучшит изображения.
При добавлении позднего ответа на вопрос с устоявшимися ответами полезно предоставить достаточно объяснений, почему ваш ответ предлагает нечто уникальное и новое по сравнению с другими ответами.
Jason Aller 10 лет назад
0
Спасибо, я не знаю, почему другие слишком усложняли свои ответы, пытаясь сохранить память, когда ОП вообще ничего не упоминает об этом.
confused00 8 лет назад
1
2
Ryan Williams
Я использую graphicsmagick для создания миниатюр точного размера, но вместо обрезки выступа я добавляю изображение в шахматную доску.
gm convert // Single threaded seems faster on smaller files -limit Threads 1 // Generate a checkerboard of size 320x180. // Sets the relative size of the checkerboard squares, // also sets the desired aspect ratio. In my case (16:9) -size 320x180 pattern:checkerboard // Resize the input image and center it on a transparent layer. -background transparent -gravity center -resize 320x180 -extent 320x180 orig.jpg // Merge the layers -flatten // Resize the output to the desired // The ! causes the aspect ratio to be ignored, fixing any rounding errors. // (Specify a size with the same aspect ratio as the checkerboard.) -resize 112x65! // Use Progressive JPEG Encoding -interlace Line // Output Image thumb_112x65.jpg
где 100x100есть размер конечного прямоугольника и смещения .50x50
Это обрезать изображение, но не делает миниатюру.
marioosh 13 лет назад
0
@marioosh: я не понял, вы можете использовать `convert -thumbnail 100x100 + 50 + 50 input_image.jpg output_image.jpg`, для получения дополнительной информации проверьте ответ Игансио Васкеса для примера или проверьте [документацию] (http: // www.imagemagick.org/script/command-line-options.php#thumbnail)
pconcepcion 13 лет назад
1
1
michaelbn
This command crop to a square and then resize to 150x150