python - 如何在 python 中获取 SVG 图像的分辨率?
问题描述
有什么方法可以在 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)
解决方案
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">
推荐阅读
- vue.js - Vue.js Vuetify 复选框到芯片组
- r - 更新软件包时出错
- google-workflows - Google Cloud Workflows - 并发执行限制
- jquery - ASMX Web 方法调用一次
- javascript - 如何使用其中包含参数的 Jest 模拟函数?
- r - analyze_multivariate > 找不到对象 xyz
- javascript - 无法使用 javacript 获取表单“自定义”变量值
- observable - 如何在反应性计算中监控观测的状态?
- python-3.x - webdavclient3:如何将 excel 文件保存到缓冲区?
- c - 忙着等待信号量?