Как указать оверлейное изображение для всех четырех угловых координат в php imagemagick

Я новичок в Imagemagick / Imagick, поэтому, пожалуйста, потерпите меня. Моя проблема выглядит довольно простой, но я нигде не мог найти решение или какую-либо помощь. Пожалуйста, взгляните на изображение ниже — я пытаюсь создать изображение, указав координаты всех четырех углов в пикселях.

я смотрел на Аффинное искажение но эта функция слишком сложна для меня, иногда требуется некоторое время для выполнения, и когда она работает — результаты очень непредсказуемы (поворот изображения неправильный, есть части изображения, удаленные или неуместные и т. д.) Так что если это возможно Я не хотел бы использовать аффинное искажение.

Конечно, если невозможно просто указать координаты каждого угла, помощь в том направлении, в котором я должен идти, очень ценится. Я хотел бы использовать Imagick, но если это возможно лучше сделать с GD или подобным, я открыт для этого.

1]

1

Решение

Не видя исходных изображений и ожидаемого результата, я предполагаю, что вы пытаетесь исказить перспективу. Это означает, что вы хотите сделать снимок и преобразовать координаты MBR в предварительно определенный набор точек.

Если я получу изображение шахматной доски размером 400×400 и захочу исказить его до точек, перечисленных выше, будет работать следующая команда ImageMagick.

convert -size 400x400 pattern:checkerboard \
-virtual-pixel transparent \
-mattecolor transparent \
-distort Perspective '0,0 50,153  400,0 240,40 0,400 315,355 400,400 336,156' \
distorted_checkerboard.png

distorted_checkerboard.png

-distort Perspective '... point matrix ...' читается как следующее

  Origin Point  => Finial Point
0,  0       =>  50,153       (top left)
400,  0       => 240, 40       (top right)
0,400       => 315,255       (bottom left)
400,400       => 336,155       (bottom right)
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector