如何将svg图像转换为png图像与Imagemagick当svg文件嵌入图像


How can i convert a svg image to png image with Imagemagick when the svg file has embedded images?

与PHP我正在创建嵌入内容的图像(base64编码文件)。如果我使用Firefox看到它,或者下载它,然后用Inkscape (www.inkscape.org)打开它,图像是好的!

但是当我尝试使用imagemagick(使用转换命令或PHP的Imagick支持)转换它时,嵌入的图像不会与最终结果一起出现。

我不知道是否有一个特殊的命令或配置我丢失了。我没有使用任何特殊的设置。只是…

convert image.svg image.png 

非常感谢你的回答。

ImageMagick的内置SVG渲染非常糟糕。如果可以避免,就不要使用它。我建议使用librsvg,或者使用命令行rsvg工具,或者可能使用PHP rsvg扩展。

(Librsvg的渲染并不总是完美的,但是它应该能够处理嵌入的图像。如果你想要更好的渲染效果,你可以尝试从命令行使用Inkscape

嵌入的图像是PNG格式还是Jpeg格式?PHP中使用什么转换器?我在Windows上试用了最新的ImageMagick,它没有随附RSVG。我找到了一个用于Windows的rsvg转换器,虽然它做得很好,但它跳过了测试文件图像的Jpeg版本。

另一方面,内置转换器可以正确处理这两个图像,但是在SVG教程中显示的主图像上做得很糟糕。