matlab 读取svg,svg文件解析(python)

python解析svg,XML解析之ElementTree

元素查找方法

一、match为tag;不含子节点,返回第一个/所有匹配的Element;可查找特定属性attrib[@id="title1"]

find(match)

findall(match)

二、含子节点,返回所有匹配的,不查找特定属性。。以当前元素为根节点 创建树迭代器,如果tag不为None,则以tag进行过滤

iter(tag=None)

三、不含子节点,返回所有匹配的。可查找属性。

iterfind(match)

### 导入依赖包

import xml.etree.ElementTree as etree

# 打开文件

tree = etree.ElementTree(file=r'/home/260190/PycharmProjects/auto_svgtopdf/test.svg') # 保证每次操作均为原始model文件

root = tree.getroot()

# find , findall

# 在test.svg中添加以下内容:

#

# nihao

#

# findall

# 所有tag,输出列表,for循环列出,不包含嵌套

elems = root.findall('{http://www.w3.org/2000/svg}g[@id="switch"]')

print(elems)

for elem in ele

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`mpimg.imread()`函数默认是无法直接读取SVG格式的矢量图像文件的,因为SVG文件本质上是一种基于XML语言的文本文件,而不是像PNG或JPEG这样的二进制图像文件。因此,如果要读取SVG格式的矢量图像文件,需要使用其他的方式进行解析读取。 一种常用的方式是使用`svglib`库将SVG文件转换为PDF格式,然后再使用`matplotlib`库中的`PdfPages`对象读取PDF文件。具体步骤如下: 1. 安装`svglib`库 ```python pip install svglib ``` 2. 使用`svglib`库将SVG文件转换为PDF文件 ```python from svglib.svglib import svg2pdf # 将SVG文件转换为PDF文件 svg2pdf('image.svg', 'image.pdf') ``` 其中,`image.svg`是要转换的SVG文件的路径,`image.pdf`是转换后的PDF文件的路径。 3. 使用`matplotlib`库中的`PdfPages`对象读取PDF文件,并显示图像 ```python import matplotlib.pyplot as plt # 打开PDF文件 with plt.rc_context({'axes.edgecolor':'orange', 'xtick.color':'red', 'ytick.color':'green', 'figure.facecolor':'grey'}): with PdfPages('image.pdf') as pdf: # 读取PDF文件中的所有页面并显示 for page in pdf.pages: plt.figure(figsize=(8.5, 11)) plt.imshow(page.grab().numpy()) plt.axis('off') plt.show() ``` 在这个示例中,我们使用`PdfPages`对象打开转换后的PDF文件,并循环读取PDF文件中的所有页面并显示出来。需要注意的是,由于PDF文件的页面大小可能与实际图像大小不同,因此需要根据需要进行调整。在这个示例中,我们使用`plt.figure(figsize=(8.5, 11))`将页面大小设置为8.5英寸×11英寸,以确保图像能够正确显示。 需要注意的是,由于SVG文件和PDF文件是矢量图像文件,因此在显示时不会出现像素失真等问题,可以保证图像的清晰度和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值