我正在尝试通过php从html字符串转换svg图像。
$im = new Imagick();
$svgNode = "<?xml version='1.0' encoding='UTF-8' standalone='no'?><svg id='mySVG' xmlns='http://www.w3.org/2000/svg' version='1.1'><g id='viewport'></g></svg>";
$im->readimageblob($svgNode);
只有这3行导致错误:
no decode delegate for this image format `/tmp/magick-ao323XDs' @ error/svg.c/ReadSVGImage/2871'n
我不知道我错在哪里。xml在那里,svg是我能想到的最简单的^^。
Imagick下实际处理图像的库ImageMagick要求您通过宽度和高度属性设置SVG图像的大小,例如:
$im = new Imagick();
$svgNode = "<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<svg id='mySVG' xmlns='http://www.w3.org/2000/svg' version='1.1' width='158px' height='92px'>
<g id='viewport'></g>
</svg>";
$im->readimageblob($svgNode);