В теории скрипт должен немного сдвигать в перспективу заранее подготовленные, одинаковые по размеру изображения. Использую Imagick:: DISTORTION_PERSPECTIVE с одними и теме же аргументами смещения, НО изображения в итоге формируется разного размера, несмотря на то что исходные, как говорил выше, ширина и высота одинаковые... От чего может зависить размер результата? Версия imagick 3.4.1 ImageMagick: 6.9.3-7 Q16 PHP: <?php //$image=N_PATH.'test2/print_skew2.png'; $image=N_PATH.'test2/print_skew21.png'; $imagick_texture = new Imagick($image); $points=array( 0,0, 35.75 , 0, 207, 0, 242.75, 3.7125, 0, 456, 0 ,465.12, 207, 456, 203.425,448.575 ); $imagick_texture->distortImage(Imagick::DISTORTION_PERSPECTIVE, $points, true ); header("Content-type: image/png"); echo $imagick_texture; Исходные изображения: Результат выполнения:
поставь $bestfit = false Код (PHP): $imagick_texture->distortImage(Imagick::DISTORTION_PERSPECTIVE, $points, false); If 'bestfit' is enabled, and distortion allows it, the destination image is adjusted to ensure the whole source 'image' will just fit within the final destination image, which will be sized and offset accordingly. Also in many cases the virtual offset of the source image will be taken into account in the mapping.
Если указать bestfit = false - изображение просто будет обрезано до изначальных размеров. А значит часть рисунка, растянутая в перспективе - видна не будет.