ImageMagick(RSVG)赢得';在SVG中导入图像
我正在尝试使用ImageMagick将SVG文件转换为PNG SVG文件如下所示:ImageMagick(RSVG)赢得';在SVG中导入图像,svg,imagemagick,librsvg,Svg,Imagemagick,Librsvg,我正在尝试使用ImageMagick将SVG文件转换为PNG SVG文件如下所示: <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> <image xlink:href="picture.jpg" width="200" height="200"/> </svg> 我已尝试更改图像路径,以使用file://
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<image xlink:href="picture.jpg" width="200" height="200"/>
</svg>
我已尝试更改图像路径,以使用file://、绝对路径、远程url以及每个图像的url编码变体。我还格式化了文件,有doctype和没有doctype
我使用的是librsvg2.36.3和ImageMagick 6.8.0-10
我已经能够使用phantomjs来转换它们,但对于这项任务来说,这似乎有些过分了
请帮忙 对我来说,安装gtk3(或者更具体地说是“共享mime信息”有帮助。(然后重新安装rsvg,并使用href的绝对“file://”uri,并将图像文件与svg文件放在同一目录中) 更多信息(我仍然不清楚到底发生了什么):
- 我认为问题不在于rsvg,而在于gdk pixbuf(2)库
- 我在代码中找到了使用gdk pixbuf加载图像的位置。我确认(使用printf debuggin)即使href中的uri没有指向文件,它也不会抛出错误(加载pixbuf似乎很好)
- gtk3依赖项应该只对rsvg-view-3工具是必需的,而不是rsvg,但它似乎是必需的(或者是我安装gtk3时引入的依赖项之一)
- 即使在卸载gtk3之后,它仍然可以工作。在卸载gtk3,然后重建rsvg(./configure detects:“gtk3:no”)之后,它仍然可以工作,因此我认为它必须与安装gtk3时提取的一个依赖项有关:
- atk-2.10.0-1-i686
- hicolor-icon-theme-0.12-2-any
- gtk-update-icon-cache-2.24.22-1-i686
- libtasn1-3.3-2-i686
- p11-kit-0.20.1-1-i686
- gnutls-3.2.5-1-i686
- libcups-1.7.0-1-i686
- libxinerama-1.1.3-2-i686
- shared-mime-info-1.2-1-i686
- libgusb-0.1.6-1-i686
- nspr-4.10.1-2-i686
- js-17.0.0-1-i686
- polkit-0.112-1-i686
- 共享颜色配置文件-0.1.5-1-任意
- dconf-0.18.0-1-i686
- 彩色D-1.0.2-2-i686
- recordproto-1.14.2-1-任何
- libxtst-1.2.2-1-i686
- at-spi2-core-2.10.1-1-i686
- at-spi2-atk-2.10.0-1-i686
- xkeyboard-config-2.10.1-1-any
- libxkbcommon-0.3.1-1-i686
*共享mime信息图像缺少X,Y坐标。@阿尔文克。X,Y坐标是可选的,它们默认为零。@Erik:谢谢,我被更正了。我今天早上用ImageMagick 6.6.9-7成功地将Doctype的裸骨SVG转换为PNG。@阿尔文克。你有没有像我上面那样包含图像?@KTastrophy:准确副本+粘贴,仅编辑jpg。额外的两行是
和
-您尝试过使用另一个jpg文件吗?此外,它似乎仅在图像文件与svg文件位于同一目录下时才起作用,即使使用完全绝对“file:///...“href的uri。它帮助日志“#定义G#u ENABLE_DEBUG”在config.h.rsvg convert中,然后抛出一个关于找不到文件的实际错误。
convert test.svg test.png
rsvg-convert -o test.png test.svg