PIL可用于获取svg文件的维度吗?

时间:2014-06-19 20:54:38

标签: python image svg python-imaging-library

我有svg文件,我想根据它们的尺寸进行比较。

我读到PIL是python中最好的图像工具。 PIL是否处理svg文件?我似乎无法在任何地方找到它。

当谷歌搜索时,我看到人们将svg文件解释为文本似乎违反直觉。

如果没有PIL是最好的方式来获得x&是.svg文件的尺寸?

由于

1 个答案:

答案 0 :(得分:1)

PIL处理many image types,但不是(还是?)SVG。部分原因是因为SVG是一组生成图像的指令,而不是原始图像数据的容器。

幸运的是,SVG可以使用您选择的工具读取为XML;例如,Python标准库中的xml.etree.ElementTree

不幸的是,就其本质而言,SVG并没有单一的原生大小。相反,it has two size concepts:视图框以及高度和宽度属性。

如果您的svg文件具有widthheight属性,则可以安全地将它们分别用作xy维度。否则,如果它具有viewBox属性,则可以缩放到您需要的任何大小;但是,如果需要,可以使用第三个和第四个数字作为宽度和高度。

更糟糕的是,SVG文件可能缺少任何一个。在这种情况下,人们可能会根据文件中的元素计算高度和宽度,但考虑到格式的全部功能,这比任何人真正想要的都要复杂。