本文介绍了如何使用Python获取SVG路径的高度,宽度和长度?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的svg基本上具有这样的大量路径:
I have an svg with tons of paths like this basically:
<path fill="#fb6430" opacity="1.00" d=" M 0.70 0.00 L 14.60 0.00 C 16.36 3.76 19.56 6.54 21.77 9.99 C 21.37 11.15 20.65 12.15 20.02 13.20 C 18.65 11.77 17.81 9.99 17.51 8.04 C 16.28 8.93 15.13 9.92 14.08 11.01 C 13.93 9.08 13.77 7.16 13.62 5.23 C 13.03 5.22 11.84 5.20 11.25 5.19 C 11.35 6.73 11.45 8.26 11.58 9.79 C 10.84 9.90 9.37 10.13 8.63 10.24 C 7.87 9.37 7.10 8.51 6.36 7.63 C 6.08 7.25 5.53 6.51 5.25 6.13 C 3.75 4.08 2.19 2.06 0.70 0.00 Z" />
我想从这个路径上获取高度,宽度,面积,长度以及其他我可以得到的任何东西.是否有任何python库?还是我忽略了可以手动执行的操作?
i want to get the height, width, area, length, and anything else I can basically from this path. Is there any python library? Or is there something I am overlooking where I could just do it manually?
推荐答案
您可以使用 svgpathtools 查找类似的测量值(假设我知道您的意思).
You can use svgpathtools to find measurements like these (assuming I know what you mean).
# create svgpathtools Path objects from an SVG file
from svgpathtools import svg2paths
paths, attributes = svg2paths('some_svg_file.svg')
# let's take the first path as an example
mypath = paths[0]
# Let's find its length
print("length = ", mypath.length())
# Find height, width
xmin, xmax, ymin, ymax = mypath.bbox()
print("width = ", xmax - xmin)
print("height = ", ymax - ymin)
# Let's find the area enclosed by the path (assuming the path is closed)
try:
print("area = ", mypath.area())
except AssertionError:
print("This path is not closed!")
# if you want a notion of area for an open path,
# you could use the bounding box area.
print("height*width = ", (ymax - ymin)*(xmax - xmin))
这篇关于如何使用Python获取SVG路径的高度,宽度和长度?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!