Попытка исказить изображение с помощью библиотеки PHP GD - PullRequest
4 голосов
/ 20 марта 2011

Я искал повсюду, чтобы попытаться найти функцию для перекоса изображения с помощью php, используя библиотеку GD.Я читал темы, в которых предлагался ImageMagick, но, к сожалению, у меня нет доступа к этой библиотеке на моем сервере, поэтому я вынужден использовать GD.Я ищу что-то, где я могу указать исходное изображение и конечное изображение, а затем 4 набора координат X и Y для каждого угла изображения.Поэтому что-то вроде этого было бы идеально:

bool skewImage(resource $src_im, resource $dst_im, int $x1, int $y1, int $x2, int $y2, int $x3, int $y3, int $x4, int $y4)

Если кто-то имеет или знает о подобной или подобной функции, это было бы здорово, спасибо!

1 Ответ

1 голос
/ 26 ноября 2011

Руководство по PHP - удивительное место. Этот комментарий в значительной степени охватывает множество сценариев. Используйте раздел «Перспектива». Приведенный ниже пример немного изменен, чтобы использовать ширину и высоту изображения.

$image = new imagick( "grid.jpg" ); 
$points = array( 
              0,0, 80,120, # top left  
              $image->width,0, 300,10, # top right
              0,$image->height, 5,400, # bottom left 
              $image->width,$image->height, 380,390 # bottum right
            );

$image->setimagebackgroundcolor("#fad888");
$image->setImageVirtualPixelMethod( imagick::VIRTUALPIXELMETHOD_BACKGROUND );
$image->distortImage( Imagick::DISTORTION_PERSPECTIVE, $points, TRUE );

header( "Content-Type: image/jpeg" ); 
echo $image;
...