使用Imagemagick将SVG转换为JPEG,缺少外部光栅图形

sur*_*fan 6 svg image imagemagick

我想将一个简单的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>
Run Code Online (Sandbox Code Playgroud)

如果我在我的Windows XP mashine与ImageMagick 6.7.8进行转换一切正常.

convert test.svg test.jpg
Run Code Online (Sandbox Code Playgroud)

用Windows转换

如果我在我的linux服务器(Debian 6.0 ImageMagick 6.6.0)上进行相同的转换,只获取黑线.

在linux服务器上转换

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

但我不确定外部图像的使用是否是较新版本的功能,或者是否是配置问题.

谢谢你的任何建议!

Wol*_*ahl 5

您可能想检查您的版本

转换 --version

以下版本愉快地进行了预期的转换:

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

它在当前的 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   
Run Code Online (Sandbox Code Playgroud)

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


cup*_*dcb 5

@沃尔夫冈

我有和你几乎相同的 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 
Run Code Online (Sandbox Code Playgroud)

我的系统是:

Distributor ID: Ubuntu
Description:    Ubuntu-Secure-Remix 12.04.1 LTS 31.08.2012
Release:    12.04
Codename:   precise
Run Code Online (Sandbox Code Playgroud)

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

或者它存在另一个命令:

rsvg-convert
Run Code Online (Sandbox Code Playgroud)

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

apt-get install librsvg2-bin
Run Code Online (Sandbox Code Playgroud)

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

rsvg-convert your_file.svg > your_file.png
Run Code Online (Sandbox Code Playgroud)