Imagemagick: переместить изображение в плавающий пиксель
Я хотел бы переместить изображение в положение с плавающей запятой, чтобы программа imagemagick заботилась о симуляции нецелого положения.
Теперь он округляет координаты.
Так что, если я попробую:
convert ( -size 640x360 xc:black ) ( rose: -geometry +10.5+10.5 ) -composite image.png
Я получу результат:
convert ( -size 640x360 xc:black ) ( rose: -geometry +10+10 ) -composite image.png
Поскольку я пытаюсь создать анимацию, перемещая изображение кадр за кадром, округленные координаты делают анимацию слишком резкой!
Ткс заранее! Néviton
1 ответ
Вам нужно будет удвоить размер рабочего холста, чтобы работать в целых числах, а затем уменьшить до 50% в конце.
convert ( -size 1280x720 xc:black ) ( rose: -scale 200% -geometry +21+21 ) -composite -resize 50% image.png
Обратите внимание на разницу между -scale
а также -resize
: -scale не выполняет интерполяцию (это то же самое, что -resize с -filter box
; -resize интерполирует пикселей на основе -filter
установка. Я использовал -scale для rose: image, потому что мы не хотим вносить никакого ухудшения в это первоначальное масштабирование нашего рабочего холста, но использовал -resize для окончательного уменьшения, потому что эффект интерполяции - это именно то, что нам нужно моделировать движение.