#imagemagick-convert #perspective
#imagemagick-преобразовать #перспектива
Вопрос:
Использование ImageMagick (преобразование) Я пытаюсь создать искажение изображения, в результате которого изображение будет больше оригинала, но содержит только подмножество оригинала.
Однако, когда я выполняю искажение с помощью ImageMagick, нижняя часть обрезается до размеров исходного изображения. Запрос, который я делаю, заключается в следующем:
convert
-verbose
img-to-distort.png
-matte
-virtual-pixel transparent
-interpolate integer
-distort perspective '64,0 0,-4 128,0 24,8 128,96 24,112 64,96 0,128'
output.png
Размеры исходного изображения составляют 128 Вт x 96 Ч пикселей
Как я могу увеличить виртуальный холст, на котором происходит искажение перед сохранением? Использование distort
бесполезно, потому что я теряю смещение и т. Д.
Комментарии:
1. Использовать -установить параметр: искажать: видовой экран WxH X Y. Посмотреть legacy.imagemagick.org/Usage/distorts/#distort_viewport .
2. Опубликуйте свое входное изображение, чтобы мы могли протестировать и предложить решение. Также определите, какого размера вы хотите получить результат.
3. Спасибо @fmw42. Я уже решил проблему для себя удовлетворительно, но у меня не было времени опубликовать здесь.
Ответ №1:
Итак, решением этой проблемы было -resize
изображение до искажения. Поскольку искажение все равно изменяется, ухудшения изображения не происходит.
После искажения мы затем используем -extent
, чтобы взять область изображения, которую мы хотим использовать.
convert
-verbose
-resize 128x120
img-to-distort.png
-matte
-virtual-pixel transparent
-interpolate integer
-distort perspective '64,0 0,-4 128,0 24,8 128,96 24,112 64,96 0,128'
-extent 24x120
output.png
Это отлично работало для моих нужд.