php – 如何使用Inkscape将SVG字符串转换为jpg

在花了两天时间尝试使用 ImageMagick从SVG字符串中栅格化jpeg后,我终于放弃了.

虽然我设法让实际的转换工作正常但是Imagemagick在渲染图像时无法正确转换变换/旋转功能,使输出与原始SVG不同.

进一步研究后,似乎这是一个已知问题,’Inkscape’是用于在PHP中将SVG转换为jpeg / png的最佳方法.

问题是我的SVG数据是通过JSON发送到我的PHP脚本的.如何在Inkscape命令行中获取blob或字符串以使其转换?

非常感谢任何建议.

如果您有一个SVG字符串,并且您通过AJAX将其从浏览器发送到服务器,则需要将其写入临时文件,因此可以从Inkscape命令行引用它.您无法使用Inkscape命令行渲染为JPEG,但您可以轻松渲染到PNG,如果您确实需要不同的格式,当然您可以随后使用ImageMagick进行转换.

你需要这样的东西:

/path/to/inkscape \
    --without-gui \
    --export-png=/path/to/output.png \
    /tmp/file/input.svg

如果您接受用户的完整/部分SVG输入,请记住,您需要记住许多安全问题.如果需要,很高兴扩展这个.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...