尝试使用PHP的GD库来扭曲图像

时间:2011-03-20 18:20:31

标签: php image gd transform skew

我一直在寻找各种尝试找到一个函数来使用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)

如果有人或者知道这样或类似的功能会很棒,谢谢!

1 个答案:

答案 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;