【问题标题】:How can i convert a svg image to png image with Imagemagick when the svg file has embedded images?当 svg 文件具有嵌入图像时,如何使用 Imagemagick 将 svg 图像转换为 png 图像?
【发布时间】:2012-12-12 03:24:48
【问题描述】:

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

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

我不知道我是否缺少特殊命令或配置。我没有使用任何特殊设置。就……

convert image.svg image.png 

非常感谢您的回答。

【问题讨论】:

    标签: php image svg imagemagick png


    【解决方案1】:

    ImageMagick 的内置 SVG 渲染真的很糟糕。如果可以避免,请不要使用它。我建议改用librsvg,或者使用命令行rsvg 工具,或者可能使用PHP rsvg extension

    (Librsvg 的渲染也不总是完美的,但它应该能够很好地处理嵌入的图像。如果你想要更好的渲染,你总是可以尝试using Inkscape from the command line。)

    【讨论】:

    • 我正在尝试将它安装在我的 Windows 开发机器上,但没有找到太多关于此的指南。这是否可以在 Windows 上配置 librsvg,以便 image magick 可以正确呈现 svg 文件?
    • @noobcode:我从未尝试过,但至少根据this page 的说法,Inkscape 在 Windows 上设置为 SVG 渲染器可能比 rsvg 更方便。
    【解决方案2】:

    嵌入的图像是PNG还是Jpeg格式? PHP中使用什么转换器?我在 Windows 上尝试了最新的 ImageMagick,它没有随 RSVG 一起提供。我找到了一个RSVG-Converter build for Windows,,虽然它做得很好,但它跳过了a test file 图像的Jpeg 版本。

    另一方面,内置转换器正确处理两个图像,但在SVG tutorial 中显示的home image 上做得很糟糕。

    【讨论】:

    • 我在 linux 下,所以选择 RSVG。虽然在共享托管服务中我愿意使用他们没有 RSVG ...所以我必须使用 imagemagick 或 GD 来解决它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-24
    • 2014-02-23
    • 1970-01-01
    • 2015-02-13
    • 2022-07-05
    • 1970-01-01
    • 2011-06-16
    相关资源
    最近更新 更多