【问题标题】:Why do I get NoDecodeDelegateForThisImageFormat when rastering SVG to PNG with ImageMagick in PHP?为什么在 PHP 中使用 ImageMagick 将 SVG 光栅化为 PNG 时会出现 NoDecodeDelegateForThisImageFormat?
【发布时间】:2013-09-06 15:55:50
【问题描述】:

我正在尝试使用以下代码将 svg 图像转换为 png:

$image = new Imagick();
$image->readImageBlob($_POST['svgcode']);
$image->setImageFormat("png24");
$image->resizeImage(600, 600, imagick::FILTER_LANCZOS, 1);
header('Content-type: image/png');
echo $image;

但是第二行有错误:

NoDecodeDelegateForThisImageFormat `' @ error/blob.c/BlobToImage/361

我该如何解决这个问题?

【问题讨论】:

标签: svg imagemagick


【解决方案1】:

这篇文章对我帮助很大http://www.elxsy.com/2009/07/installing-imagemagick-on-windows-and-using-with-php-imagick/

确切地说是这件作品:

这是重要的部分,我花了半个小时试图让它工作.. grrrr.. 你需要重新启动你的电脑才能使库生效。

从来没有为安装 php 扩展做过这个。

【讨论】:

    【解决方案2】:

    您的 svg 的第一行必须是 <?xml version="1.0" encoding="UTF-8" standalone="no"?>

    $svg = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>'.$svg;
    

    这样做你会很享受:-)

    【讨论】:

    • Awais,感谢您的评论。我刚刚重启了我的电脑,问题就解决了。
    猜你喜欢
    • 2012-02-14
    • 2014-05-25
    • 2011-06-30
    • 2017-03-26
    • 2015-07-11
    • 1970-01-01
    • 2012-11-30
    • 2011-12-30
    • 2012-08-06
    相关资源
    最近更新 更多