我要设置图像透视。我有带有空白多边形的笔记本电脑的图像
另一个图像需要拉到空白区域。像这样:
所以,我有这个动态失真的代码:
$controlPoints = array( 0, 0,
0, 0,
0, $im->getImageHeight(),
0, $im->getImageHeight(),
$im->getImageWidth(), 0,
$im->getImageWidth(), 0,
$im->getImageWidth(), $im->getImageHeight(),
$im->getImageWidth(), $im->getImageHeight());
/* Perform the distortion */
$im->distortImage(Imagick::DISTORTION_PERSPECTIVE, $controlPoints, true);
如何设置 $controlPoints 数组?我不能只为图像的每个角设置 4 个坐标吗?不幸的是, imageick::distort image 的文档很差。
通过使用另一种失真方法解决问题:
$im->cropImage( 125, 121, $center_x, $center_y );
$controlPoints = array(
0,0, 35,20, # top left
190,0, 150,30, # top right
0,205, -16,105, # bottom right
176,135, 115,105 # bottum left
);
/* Perform the distortion */
$im->distortImage(Imagick::DISTORTION_BILINEAR, $controlPoints, true);