【问题标题】:Call to undefined method Imagick::writeImageFile()调用未定义的方法 Imagick::writeImageFile()
【发布时间】:2013-10-07 21:07:04
【问题描述】:

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() 却不行。你能帮帮我吗?

【问题讨论】:

  • 您知道您使用的是哪个版本的 Imagemagick 吗?
  • dpkg -p imagemagick 给 7:6.5.7.8-1ubuntu1.3
  • 这是另一个猜测——你能检查ini_get("disable_functions")的值来查看exec是否被禁用吗? (不确定如果这是问题,它是否会引发未定义的错误,但......)
  • disable_functions = 没有值:/

标签: php imagemagick ubuntu-10.04 imagick


【解决方案1】:

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

【讨论】:

  • 是的,很好的答案,现在没关系,我使用 writeImage 而不是 writeImageFile 并且它有效!谢谢大家。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-27
  • 2019-10-25
  • 2018-07-11
  • 2013-10-23
  • 2012-02-17
  • 1970-01-01
相关资源
最近更新 更多