Альтернативный вариант: как взять неквадратный PNG и «заполнить» «остальную часть» изображения прозрачностью, чтобы полученное квадратное изображение имело исходное изображение по центру квадрата?
В конечном счете, я хочу взять любое изображение любого формата, поддерживаемого GM, любого размера и создать уменьшенный PNG (скажем, максимум 40 пикселей для любого измерения), с сохранением соотношения сторон, с прозрачностью для неквадратного исходные изображения, И с уже подготовленной маской прозрачности PNG 40x40.
Я уже знаю, как уменьшить и сохранить соотношение сторон; У меня уже есть команда для применения моего композита. Моя единственная недостающая часть - это квадратные не квадратные изображения (заполнение с прозрачностью).
Отдельная команда предпочтительна; многокомандная цепочка приемлема.
(редактировать)
Дополнительная информация: вот составная команда, которую я использую:
gm composite -compose copyopacity mask.png source-and-target.png source-and-target.png
где mask.png имеет белые пиксели для того, что я хочу сохранить от source-and-target.png, и прозрачные пиксели для того, что я хочу удалить (и стать прозрачным) из source-and-target.png.
composite
?-filter Catrom
прежде чемthumbnail
вариант, потому что из моего опыта, как правило, производит изображения более высокого качества.Одна команда для преобразования всех PNG из одной папки:
mogrify - это команда из пакета ImageMagick. Сначала вы должны создать выходной каталог.
источник
-path resized
редактировать файлы на месте.gm mogrify
и вместо этого-path resized
, используйте-create-directories -output-directory resized
Вот то, что я в конце концов пошел с. Двухэтапный процесс:
Где mask.png - это белые пиксели для того, что я хотел сохранить, и прозрачные пиксели для того, что я хотел скрыть (отбросить).
источник