我感觉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.
网友评论