python处理svg数据

2020-01-13 16:26:55 浏览数 (1)

我感觉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

我的核心代码如下:在上面的基础上修改了一下。

代码语言:javascript复制
for i in range(high):
    brower=webdriver.PhantomJS()
    url=df.loc[i]['ImageURL']
    brower.get(url)
    brower.maximize_window()
    brower.save_screenshot('D:AlwaysMachine_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.

0 人点赞