我一直在寻找各种尝试找到一个函数来使用GD库使用php来扭曲图像。我已经阅读了建议使用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)
如果有人或者知道这样或类似的功能会很棒,谢谢!
答案 0 :(得分:1)
PHP手册是一个了不起的地方。 This comment几乎涵盖了很多场景。使用“透视”部分。下面的示例略有修改,以使用图像的宽度和高度。
$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;