2012-10-27 51 views
1

我試圖將一個SVG轉換爲PNG,並且到目前爲止,當我使用一個文件(file.svg)但當前是我的SVG文件(簡單簽名)時,存儲在數據庫中。ImageMagick讀取數據:image/svg而不是文件

當我檢索矢量時,它看起來像'data:image/svg + xml; BASE64,......「。現在,我使用fwrite()導出文件,然後運行Image Magick,但我希望能夠刪除該步驟。

可以這樣做嗎?

我現在命令如下:

/usr/bin/convert /path/to/file.svg /path/to/file.png 

回答

0

它看起來像要做到這一點的唯一方法是使用Imagick。我將在未來走這條路線,但在本網站上運行的主機上安裝並運行新的應用程序可能已經過時了。

最終,我選擇將SVG導出爲XML文件並使用.svg擴展名保存,以便使用上面顯示的語法加載它。

0

嗯,這可能是可能做到這一點在許多方面,這裏有一個:

echo 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iOCIgZmlsbD0ibGltZSIvPjwvc3ZnPgo=' | cut -d',' -f2 | base64 -d | convert - test.png 

這似乎是convert喜歡上串出於某種原因在XML序言。

相關問題