调用未定义的方法Imagick :: writeImageFile()

时间:2013-10-01 15:53:51

标签: php imagemagick ubuntu-10.04 imagick

我遇到了Imagick的问题 - PHP。 我有这段代码:

function createImages ($src, $dst, $width, $height)
{
        $image = new Imagick($src);
        $image->stripImage();

        $color = new ImagickPixel();
        $color->setColor('rgb(255,255,255)');
        if(resizeimage($image, $width, $height)) {
            $image->borderimage($color, 
            intval(($width - $image->getimagewidth()) / 2), 
            intval(($height - $image->getimageheight()) / 2));
            $image1 = new Imagick();
            $image1->newImage($width, $height, new ImagickPixel('white'));
            $image1->setImageColorspace($image->getImageColorspace());
            $image1->compositeImage($image, $image1->getImageCompose(), 0, 0);
            $image1->setImageCompressionQuality(90);
            $image1->setimagecompression(Imagick::COMPRESSION_JPEG);
            $image1->setformat('jpeg');
            $fileHandle = fopen($dst, "w");
            $image1->writeImageFile($fileHandle);
            $color->destroy();
            $image1->destroy();
        }           
        $image->destroy();
        return true;
}

这个错误:

  

致命错误:调用未定义的方法Imagick :: writeImageFile()

我不明白为什么所有其他方法都运行良好,但不是writeImageFile()。你能帮帮我吗?

1 个答案:

答案 0 :(得分:1)

writeImageFile 功能在ImageMagick版本6.3.6中可用,所以也许你的版本不够新?还有 writeImage ,在您的案例中可能是一个可用的替代方案:http://www.php.net/manual/en/imagick.writeimage.php