花了两天时间尝试使用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
Run Code Online (Sandbox Code Playgroud)
如果您接受用户的全部/部分 SVG 输入,请记住,您需要牢记大量的安全问题。如果需要的话,很乐意对此进行扩展。
| 归档时间: |
|
| 查看次数: |
3602 次 |
| 最近记录: |