【问题标题】:How get resolution of SVG image in python?如何在 python 中获取 SVG 图像的分辨率?
【发布时间】:2018-11-18 05:05:24
【问题描述】:
有什么方法可以在 python 中获取 SVG 图像的分辨率。所有其他图像分辨率都适用于 PIL。我没有为 SVG 图像找到任何解决方案。我正在使用以下代码来获取分辨率,但它仅适用于某些情况,
data = request.FILES['picture']
tree = ET.parse(data)
root = tree.getroot()
h = int(root.attrib['height'])
w = int(root.attrib['width'])
print(h, w)
【问题讨论】:
标签:
python
django
svg
python-imaging-library
【解决方案1】:
SVG 文件是矢量,可以作为 XML 读取。例如 Python 标准库中的xml.etree.ElementTree 可以解析 XML 文件。
我们有这样的东西:
<svg width="240" height="240" xmlns="http://www.w3.org/2000/svg">
如果您的文件具有宽度和高度属性,则可以使用它们。如果没有宽度和高度,我认为没有办法获得 SVG 文件的确切大小,因为它们可以无限缩放(任何分辨率)
宽度和高度
<svg width="240" height="240"
xmlns="http://www.w3.org/2000/svg">
原比例加倍。
<svg viewBox="0 0 120 120" width="240" height="240"
xmlns="http://www.w3.org/2000/svg">
无限缩放
<svg viewBox="0 0 120 120"
xmlns="http://www.w3.org/2000/svg">