iMagick在Windows服务器上的角度扭曲

时间:2012-06-21 15:24:06

标签: php windows imagick

我试图通过imagick php扩展来扭曲图像,我已经得到了以下代码:

    $controlPoints = array(
                    0,0, 0,0, 
                    0,$height, 0,$height, 
                    $width,0, $width,$perspective_wrap, 
                    $width,$height, $width,$hps
                    );
$im1->setImageMatte(true);
//Distort the image -- In perspective with the matrix given above
$im1->distortImage(Imagick::DISTORTION_PERSPECTIVE, $controlPoints, true);  



图像在Linux服务器上的视角扭曲,但当我在Windows托管上移动脚本时,似乎发生以下错误:
致命错误:未捕获的异常'ImagickException',消息'无法读取参数数组'

该行 $ im1-> distortImage(Imagick :: DISTORTION_PERSPECTIVE,$ controlPoints,true);

有没有办法让它在两个平台上都能运行?

1 个答案:

答案 0 :(得分:0)

似乎在我的linux服务器上我有以下Imagick版本:
ImageMagick版本:ImageMagick 6.7.6-8 2012-05-02 Q16

并在Windows服务器上:

ImageMagick版本ImageMagick 6.4.1 05/16/08 Q16

因此,在Windows服务器上,$ controlPoints数组必须将所有元素都包含为 INT 值。在linux服务器和那个图像magick版本上,如果某些值 string 没有问题,所以解决问题的方法是将 $ controlPoints 数组值转换为 int 值。

如果有人像我一样克服这个问题,希望它有所帮助。