Imagick将svg转换为带有模式图像的png

时间:2015-04-14 06:51:09

标签: php svg imagick

我有一个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();

0 个答案:

没有答案