python处理svg数据

2020-02-14  本文已影响0人  天灬魂

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

上一篇 下一篇

猜你喜欢

热点阅读