Я выполняю пакетную обработку папки изображений до одинаковой ширины с помощью GraphicsMagick (хотя предполагаю, что то же самое применимо и к ImageMagick):
$ gm convert -resize 1000x in.jpg out.jpg
Но когда я просматриваю некоторые изображения, я получаю 999px
вместо 1000px
.
$ gm identify -verbose out.jpg
==> Image: out.jpg
==> Format: JPEG (Joint Photographic Experts Group JFIF format
==> Geometry: 999x591
Есть ли способ принудительно установить правильную ширину? Я предполагаю, что он делает какие-то оценки, чтобы сохранить пропорции.
решение1
Разобрался, вы используете восклицательный знак, чтобы обеспечить соблюдение выбранного размера. ИзДокументация GraphicsMagick:
Добавьте восклицательный знак к геометрии, чтобы принудительно задать размер изображения точно по указанному вами размеру. Например, если указать 640x480!, ширина изображения будет установлена на 640 пикселей, а высота на 480.
Итак, из примера выше:
$ gm convert -resize 1000x! in.jpg out.jpg
В результате получается изображение шириной ровно 1000 пикселей:
$ gm identify -verbose out.jpg
==> Image: out.jpg
==> Format: JPEG (Joint Photographic Experts Group JFIF format
==> Geometry: 1000x591