【发布时间】:2015-08-08 01:26:39
【问题描述】:
我在这条路径上有一个 SVG 图像http://www.quickdesign.com/user-uploads/5555f546857ce-saved.svg
我需要将它转换成 PNG
<?php
$svg_file_name = 'user-uploads/5555f546857ce-saved.svg';
$png_file_name = 'png/converted.png';
$im = new Imagick();
$im->setBackgroundColor(new ImagickPixel('transparent'));
$svg = file_get_contents($svg_file_name);
$svg = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>'.$svg;
$im->readImageBlob($svg);
/*png settings*/
$im->setImageFormat("png32");
$im->writeImage($png_file_name);
header('Content-type: image/png');
echo $im;
$im->clear();
$im->destroy();
?>
如果我删除$svg = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>'.$svg; 行,那么它会给出致命错误未捕获的异常“ImagickException”,消息“没有此图像格式的解码委托”
谁能帮助我如何使用 PHP 将上述 svg 图像转换为 PNG 图像。
任何帮助将不胜感激。
谢谢
【问题讨论】:
-
当您搜索“no decode delegate for this image format”并尝试建议时,发生了什么?
-
这一行已修复 $svg = ''.$svg;