python处理svg数据

本文分享了将SVG格式文件转换为PNG格式的两种方法。一种是使用Python插件,但遇到了安装问题;另一种是通过浏览器自动截图实现转换,提供了具体代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我感觉python不能直接处理svg格式,所以想把它转化为png数据在进行处理。

下面是这几天搞的结果:

1.找插件

昨天搞了一天,把svg转化为png格式,网上有专门的python插件,百度搜一下很多。

但是装好后,发现有一个包已知报错。

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

网上也有解决方案:如https://blog.youkuaiyun.com/hacklyc/article/details/77101965(里面GTK+链接失效了,自己百度GTK+就好了)

说是windows的原因,不知道linux会不会报错。

但是不知道是我不会装还是什么,反正搞了好久没弄好。差点想用linux系统再装一边了。


2.自动截图

晚上回寝室路上,想到,可不可以用浏览器打开,然后截图保存成图像格式。

搜了一下之前有相关的教程。如下(亲测有用)

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()

下载在自动下载图片,偷闲来写个博客。

3.其他

我看到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.

gg

提前批8.1号截止

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值