gpt4 book ai didi

python - 使用 Python 解析 SVG 文件路径

转载 作者:太空宇宙 更新时间:2023-11-03 13:01:08 26 4
gpt4 key购买 nike

我正在开发一个机器人项目,该项目从运行 Android 的设备拍摄一张照片,然后发送到 cloudconvert.org 将其转换为 SVG,然后所有 SVG 路径将被转换为 x y 坐标并连续发送到机械臂将在打开或关闭笔的情况下绘制它们。

所以我在这个项目中已经走了这么远,我现在遇到的唯一问题是将 SVG 文件解析为路径列表作为字符串列表。

我尝试了 minidom,但它似乎不起作用。我实际上可以访问 SVG 文件,但我无法访问路径数据示例“M 100,200 L 200.300”而不是我得到的

>>> from xml.dom import minidom
>>> xmldoc= minidom.parse("C:\Users\DELL\Desktop\drawing-1.svg")
>>> a=xmldoc.getElementsByTagName("svg")[0]
>>> b=a.getElementsByTagName("g")[0]
>>> pth=b.getElementsByTagName("path")[0]
>>> pth
<DOM Element: path at 0x1bb6238>

我只是想以字符串的形式访问该 dom 对象中的数据,当我尝试访问时

>>> print (str(pth))

什么也没有出现,只有两个空行,然后 >>> 再次出现。

最佳答案

这是一个旧线程,但由于已接受答案的链接在这里不再有效,所以我处理 svg 路径的方法是。

有一个 svg.path 模块可以提取路径和其他形状并提供处理它们的方法。

from xml.dom import minidom
from svg.path import parse_path

svg_dom = minidom.parseString(svg_string)

path_strings = [path.getAttribute('d') for path in svg_dom.getElementsByTagName('path')]

for path_string in path_strings:
path_data = parse_path(path_string)

# now use methods provided by the path_data object
# e.g. points can be extracted using
# point = path_data.pos(pos_val)
# where pos_val is anything between 0 and 1

关于python - 使用 Python 解析 SVG 文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20808614/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com