我有svg文件,我想根据它们的尺寸进行比较。可以使用PIL来获取svg文件的尺寸吗?
我读到关于PIL作为python中最好的图像工具。 PIL处理svg文件吗?我似乎无法在任何地方找到它。
当用谷歌搜索时,我看到人们将svg文件解释为文本,这似乎违反了直觉。
如果不是PIL,如何获得.svg文件的x & y尺寸?
感谢
我有svg文件,我想根据它们的尺寸进行比较。可以使用PIL来获取svg文件的尺寸吗?
我读到关于PIL作为python中最好的图像工具。 PIL处理svg文件吗?我似乎无法在任何地方找到它。
当用谷歌搜索时,我看到人们将svg文件解释为文本,这似乎违反了直觉。
如果不是PIL,如何获得.svg文件的x & y尺寸?
感谢
PIL处理many image types,但不(没?)SVG。部分原因是,这是因为SVG是一组生成图像的指令,而不是原始图像数据的容器。
幸运的是,可以使用您选择的工具将SVG读取为XML;例如,Python标准库中的xml.etree.ElementTree。
不幸的是,就其性质而言,SVG没有单一的本地大小。相反,it has two size concepts:视图框以及高度和宽度属性。
如果你的SVG文件具有width
和height
属性,你可以放心地分别使用它们作为x
和y
尺寸。否则,如果它具有viewBox
属性,则表示可以缩放到您需要的任何大小;但是,如果需要,可以使用第三个和第四个数字作为宽度和高度。
更糟糕的是,SVG文件可能没有一个。在这种情况下,可以基于文件中的元素计算高度和宽度,但鉴于格式的全部功能,这比任何人想要做的都要棘手。
人们将SVG文件解释为文本,因为SVG文件实际上是可以*解释*以呈现图像的XML文本文件。 – murgatroid99
你可以尝试使用[PySVG](http://codeboje.de/pysvg/) – tmr232
使用pysvg我有pysvg.parse(我的文件),但是我怎样才能得到x和y尺寸?我正在寻找明确的文档,我只看到如何创建SVG不获取信息退出 – Tai