python处理svg数据

发布时间:2019-09-12 07:55:41编辑:auto阅读(1962)

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

     

关键字