使用HTML-Domnode中的SVG进行图像处理


Imagick with SVG from HTML-Domnode

我正在尝试通过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);