我有svg文件,我想根据它们的尺寸进行比较。
我读到PIL是python中最好的图像工具。 PIL是否处理svg文件?我似乎无法在任何地方找到它。
当谷歌搜索时,我看到人们将svg文件解释为文本似乎违反直觉。
如果没有PIL是最好的方式来获得x&是.svg文件的尺寸?
由于
答案 0 :(得分:1)
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文件可能缺少任何一个。在这种情况下,人们可能会根据文件中的元素计算高度和宽度,但考虑到格式的全部功能,这比任何人真正想要的都要复杂。