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

5

我一直在寻找使用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)

如果有人拥有或知道类似的功能,那就太棒了,谢谢!

这是一个关于编程的内容,翻译成中文如下:这是一个完全重复的问题,与如何使用GD库扭曲图像?相同。它也恰好是“gd skew”在谷歌上的排名第一结果。 - Charles
2
我阅读了那个帖子,提供的答案并不完全符合我的要求。那个函数只会使一侧或另一侧倾斜,类似但并不相同。 - XeroBytez
1个回答

1

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;

2
这个答案使用的是 imagick 类,而不是 GD 库。 - Eruant

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接