我有一个svg,有多个背景定义。
svg输出它就像它应该的那样但是当我想用Imagick转换它时只有轮廓是可见的而不是背景。
我已经尝试过使用图像的绝对和相对路径。
以下是代码的一些部分:
SVG:
<defs>
<pattern height="486" width="595" patternUnits="userSpaceOnUse" id="bgImage">
<image height="20" width="20" y="0" x="0" xlink:href="/path/to/image.jpg"></image>
</pattern>
</defs>
<path d="..." fill="url(#bgImage)" stroke="#000000">
PHP:
$im = new Imagick();
try {
$im->setBackgroundColor(new ImagickPixel("transparent"));
$im->readImageBlob($svg);
$im->setImageFormat("png24");
header("Content-Type: image/png");
echo $im;
$im->writeImage('output/convert.png');
}
catch (ImagickException $e) {
echo $e;
}
$im->clear();
$im->destroy();