【问题标题】:ImageMagick reading SVG with unexpected resultImageMagick 读取 SVG 的结果出乎意料
【发布时间】:2013-06-04 09:07:03
【问题描述】:

我有一个关于 IM 阅读 SVG 图像的问题,这真的让我很困扰。 对于下面的 SVG 图片,

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg"  version="1.1" width="100%" height="100%" viewBox="0 0 100 100">
  <defs>
    <linearGradient id="grad1">
      <stop offset="0%" stop-color="white"/>
      <stop offset="100%" stop-color="black"/>
    </linearGradient>
  </defs>
  <rect x="10" y="10" width="80" height="80" fill="url(#grad1)" stroke="blue"/>
</svg>

当我使用 identify -verbose sample.svg 时,我得到了“几何:1x1+0+0”的结果。但其他人得到“几何:100x100+0+0”。似乎 100x100 是正确的。为什么会这样?

【问题讨论】:

  • ImageMagick 的不同版本?

标签: svg imagemagick identify librsvg


【解决方案1】:

在我自己的实验中,我注意到 Imagick 的默认 SVG 委托在处理包含以下内容的 SVG 时存在问题:

fill="url(#grad_or_imagepattern)"

就我而言,并在此处解释:http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=23525,Imagick “可以使用其内部 MSVG 或外部代表用于 RSVG,或者我相信 Inkscape”(如果可用)。

我建议您按顺序执行以下操作: 1.卸载Imagick 2.安装Inscape 3.将Inscape目录添加到系统路径 4.安装Imagick

这样,Imagick 将能够要求 Inscape 进行转换。 万事如意,

【讨论】:

    猜你喜欢
    • 2021-03-25
    • 1970-01-01
    • 2016-09-03
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 2017-12-16
    • 1970-01-01
    相关资源
    最近更新 更多