在花了两天时间尝试使用 ImageMagick 从 SVG 字符串光栅化 jpeg 后,我终于放弃了。
虽然我设法使实际转换工作正常,但在渲染图像时,Imagemagick 似乎无法正确转换变换/旋转功能,导致输出与原始 SVG 不同。
经过进一步研究,这似乎是一个已知问题,并且“Inkscape”是在 PHP 中将 SVG 转换为 jpeg/png 的最佳方法。
问题是我的 SVG 数据通过 JSON 发送到我的 PHP 脚本。如何将 blob 或字符串输入 Inkscape 命令行以进行转换?
非常感谢您的任何建议。
如果您有 SVG 字符串,并且通过 AJAX 将其从浏览器发送到服务器,则需要将其写入临时文件,以便可以从 Inkscape 命令行引用它。您无法使用 Inkscape 命令行渲染为 JPEG,但您可以轻松渲染为 PNG,如果您确实需要不同的格式,当然可以随后使用 ImageMagick 进行转换。
你需要类似的东西:
/path/to/inkscape \
--without-gui \
--export-png=/path/to/output.png \
/tmp/file/input.svg
如果您接受用户的全部/部分 SVG 输入,请记住,您需要牢记大量的安全问题。如果需要的话,很乐意对此进行扩展。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)