我正在尝试将SVG转换为PNG,到目前为止,当我使用文件(file.svg)时,一切都很好,但目前我的SVG文件(简单签名)存储在数据库中。
当我检索向量时,它看起来像'data:image / svg + xml; BASE64,......“。现在,我正在使用fwrite()导出文件,然后运行Image Magick,但我希望能够减少这一步。
可以这样做吗?
我当前的命令如下:
/usr/bin/convert /path/to/file.svg /path/to/file.png
答案 0 :(得分:0)
看起来这样做的唯一方法就是使用Imagick。我将来会走那条路,但是在这个网站运行的主机上安装并运行一个新安装本来就是tediours。
最终,我选择将SVG导出为XML文件并使用.svg扩展名保存,以便可以使用上面显示的语法加载它。
答案 1 :(得分:0)
嗯,有可能通过多种方式实现这一目标,其中之一是:
echo 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iOCIgZmlsbD0ibGltZSIvPjwvc3ZnPgo=' | cut -d',' -f2 | base64 -d | convert - test.png
由于某种原因,似乎convert
喜欢在字符串中使用XML prolog。