1. 程式人生 > >python處理svg資料

python處理svg資料

我感覺python不能直接處理svg格式,所以想把它轉化為png資料。

昨天搞了一天,把svg轉化為png格式,網上有專門的python外掛,百度搜一下很多。

但是裝好後,發現有一個包已知報錯。

dlopen() failed to load a library: cairo / cairo-2

網上也有解決方案:如https://blog.csdn.net/hacklyc/article/details/77101965(裡面GTK+連結失效了,自己百度GTK+就好了)

說是windows的原因,不知道linux會不會報錯。

但是不知道是我不會裝還是什麼,反正搞了好久沒弄好。差點想用linux系統再裝一邊了。

------------------------------------------------------------------------------------------------------------------------------------------------------

晚上回寢室路上,想到,可不可以用瀏覽器開啟,然後截圖儲存成影象格式。

搜了一下之前有相關的教程。如下(親測有用)

https://www.jb51.net/article/140366.htm

 

我的核心程式碼如下:在上面的基礎上修改了一下。

for i in range(high):
    brower=webdriver.PhantomJS()
    url=df.loc[i]['ImageURL']
    brower.get(url)
    brower.maximize_window()
    brower.save_screenshot('D:\Always\Machine_Learning_Work/%s.jpeg'%i)
    brower.close()

下載在自動下載圖片,偷閒來寫個部落格。

 

我看到PhantomJS 官網有這一段,裡面提到轉換SVG,我想可能是因為SVG直接轉png不太簡單吧,網上關於svg到png的文章也不多。

Since PhantomJS is using WebKit, a real layout and rendering engine, it can capture a web page as a screenshot. Because PhantomJS can render anything on the web page, it can be used to convert HTML content styled with CSS but also SVG, images and Canvas elements.