使用ImageMagick进行SVG转换时,不能正确应用平移。

7
我正在使用Mac OS X 10.5的Mac电脑,并尝试使用ImageMagick将SVG文件转换为PNG。问题在于,当我使用它时,旋转的图像没有以正确的位置显示。如果我使用Batik来转换文件,则可以正常工作。
经过一些研究,我发现了一个帖子,讨论了尝试升级SVG库的方法。目前,我正在使用ImageMagick 6.6.5,根据“identify -list format”的显示,SVG库是2.7.7。我找到的帖子建议使用librsvg 2.32。
我已经尝试使用port安装更新的SVG库并使用port重新安装ImageMagick。问题和我的问题是,无论我用port做什么,我都无法让它使用更新版本的SVG库。它仍然停留在2.7.7。如何让它使用新库?

我在Windows上遇到了这个问题。 - Stefan Rusek
你的问题是设置新库/二进制文件的路径,或卸载旧的库。也许你应该尝试找出哪些库与二进制文件链接,并将它们与更新版本一起编译。尝试使用 otool -L 命令查找。 - Marek Sebera
这很容易复制。1.从官网下载imagemagick二进制文件 2.尝试使用“convert src.svg targ.png”将带有翻译的svg文件转换为png似乎这样一个SVG支持的重要部分竟然是错的。 - Stefan Rusek
6
可以尝试使用inkscape,它也有命令行界面。 - kamae
1
也可以尝试在ImageMagick的论坛上发布这个问题,他们非常乐于助人。 - Ivan
2个回答

1

不幸的是,我也曾经走过这条路。在长时间的挣扎中,我的头撞得很疼,而且还受了不少伤,最终我发现唯一有效的方法是使用inkscape。其他所有方法都无法胜任。不幸的是,inkscape的CLI界面并不好用,也没有提供足够的灵活性(特别是在转换为PDF等格式时),但它至少比其他所有方法都要好用。使用方法如下:

inkscape -f INPUT.SVG -e OUTPUT.PNG

查看 inkscape --help 以获取更多详细信息。

额外的警告: inkscape -h 实际上并不能提供你所需的帮助,而是启动了 GUI。


1
我在10.7上安装了macPorts的imageMagick后遇到了这个问题。尝试了几次不同选项的卸载/重新安装,最终我卸载并从源代码构建,安装了librsvg,现在一切都可以使用更新的svg库正常工作。
ImageMagick的Unix源和说明在此处: http://www.imagemagick.org/script/install-source.php ImageMagick还提供了有关在配置步骤中显式链接库和库路径的说明(http://www.imagemagick.org/script/advanced-unix-installation.php),尽管我没有必要这样做。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接