【问题标题】:Convert SVG to JPEG with Imagemagick, missing external raster graphics使用 Imagemagick 将 SVG 转换为 JPEG,缺少外部光栅图形
【发布时间】:2012-08-06 11:15:30
【问题描述】:

我想将一个简单的 svg 图形转换为 jpeg 图形。这是svg源代码:

<svg style="overflow: hidden; position: relative;" 
  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" 
  width="300" version="1.1" height="200">
     <image x="10" y="10" width="276" height="110" 
     xlink:href="http://images.google.com/intl/de_ALL/images/logos/images_logo_lg.gif"
     stroke-width="1"></image>
  <rect x="0" y="150" height="10" width="300" style="fill: #000000"/>
</svg>

如果我在 Windows XP 机器上使用 ImageMagick 6.7.8 进行转换,一切正常。

convert test.svg test.jpg

如果我在我的 linux 服务器 (Debian 6.0 ImageMagick 6.6.0) 上进行相同的转换,则只会得到黑线。

我尝试在我的 linux 机器上升级到最新的 Imagemagick 版本,但我没有从存储库中获得更新的版本。

但我不确定使用外部图像是新版本的功能,还是配置问题。

感谢您的任何建议!

【问题讨论】:

  • convert --version 在你的两台机器上说什么?
  • 我安装了Version: ImageMagick 6.6.9-7 2012-08-17 Q16 版本。您在回答中确认此版本未按预期工作。

标签: image svg imagemagick


【解决方案1】:

您可能希望使用

检查您的版本

转换--版本

以下版本愉快地完成了预期的转换:

Version: ImageMagick 6.7.7-0 2012-05-27 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features:  OpenCL

在当前的 macports 端口中可用。

这个版本:

Version: ImageMagick 6.6.9-7 2012-04-30 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC
Features: OpenMP   

在 Ubuntu 12.04 LTS 中不起作用...

【讨论】:

    【解决方案2】:

    @沃尔夫冈

    我的 imagemagick 版本几乎与您的相同。 (版本不一样,但我认为不会造成问题)

    $ convert --version
    Version: ImageMagick 6.6.9-7 2014-03-06 Q16 http://www.imagemagick.org
    Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC
    Features: OpenMP 
    

    我的系统是:

    Distributor ID: Ubuntu
    Description:    Ubuntu-Secure-Remix 12.04.1 LTS 31.08.2012
    Release:    12.04
    Codename:   precise
    

    我已经在我的系统中进行了测试,该命令运行良好。

    或者它存在另一个命令:

    rsvg-convert
    

    可以按类型安装(在 Ubuntu 中):

    apt-get install librsvg2-bin
    

    要将 SVG 转换为 PNG,命令是:

    rsvg-convert your_file.svg > your_file.png
    

    【讨论】:

    • rsvg-convert 2.40.10 版似乎无法获取外部图像
    【解决方案3】:

    如果 Debian 存储库中没有更新版本,您的选择是:

    1. ImageMagick source code 自行编译。说明是here

    2. 安装pre-compiled non-Debian binary 包(.tar.gz)。

    3. 使用 Google 并搜索官方 Debian Squeeze(又名 6.0)“反向移植”存储库。如果幸运的话,可能会有更新的 ImageMagick 可用。

    【讨论】:

      【解决方案4】:

      你也可以试试Apache Batik SVG Rasterizer

      java -jar batik-rasterizer.jar samples/batikFX.svg
      

      它确实获取外部图像。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-05
        • 1970-01-01
        • 2015-09-05
        • 1970-01-01
        • 1970-01-01
        • 2012-03-02
        • 1970-01-01
        • 2016-10-20
        相关资源
        最近更新 更多