Как получить разрешение изображения SVG в Python? - PullRequest
0 голосов
/ 08 июня 2018

Есть ли способ получить разрешение изображения SVG в python.Все остальные разрешения изображения отлично работают с 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)

1 Ответ

0 голосов
/ 08 июня 2018

Файлы SVG являются векторами и могут быть прочитаны как XML.например, xml.etree.ElementTree в стандартной библиотеке Python может анализировать файлы 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">
...