Я пытаюсь разместить повернутое изображение на чистом холсте.
Это команда, которую я использую:
convert "(" -size 1000x1000 xc:transparent ")" "(" "img.jpg" -virtual-pixel white -rotate -10.75 ")" -geometry +136+148 -composite "overlay.png" -geometry +0+0 -composite out.png
Я ожидаю, что изображение появится в +136+148
, повернутом вокруг его центра. Однако вместо этого он поворачивается вокруг своего верхнего правого угла.
Я подтвердил это в Photoshop:
Это результирующее изображение (с использованием немного другого размера, но с теми же параметрами, что и в моем примере команды, приведенной здесь):
4 строки - это направляющие, которые отмечают координаты, определяющие, где находится изображение. Как видите, изображение повернуто на -10.75
градусов. А центр вращения - это верхний правый угол.
Здесь я выбираю поле с правильными координатами в Photoshop:
И вот я поворачиваю его после установки точки вращения в верхнем правом углу:
Как видите, выделение теперь соответствует изображению, которое было вычислено моей командой конвертирования.
Я пытался разобраться с этим много часов. Я попытался переключиться на + distort и -distort, а что нет, но там я просто получаю либо обрезанное изображение, либо другую неправильно расположенную ограничивающую рамку.
Я не знаю, как решить эту проблему. Что я делаю неправильно? Как я могу сказать -rotate
повернуть мое изображение вокруг его центра, а не вокруг верхнего правого угла (почему в любом случае вверху справа?).
Спасибо за помощь!