INNER CODE UNIT · Python
render_svgs
utopia-rise/godot-jvm · logo/export.py:127
def render_svgs(inkscape):
# SVG renderers such as IntelliJ's icon loader draw an SVG at its declared width/height,
# so consumers that need an exact size get their own copy with that size declared.
ElementTree.register_namespace('', 'http://www.w3.org/2000/svg')
svg = ElementTree.parse(REFERENCE_SVG)
for size in SVG_SIZES:
svg.getroot().set('width', str(size))
svg.getroot().set('height', str(size))
svg.write(HIGHRES / f'logo-{size}.svg', encoding='utf-8', xml_declaration=True)
rendered = DIRECTORY / 'logo-render.png'
try:
inkscape_export(inkscape, REFERENCE_SVG, rendered, MASTER_SIZE)
with Image.open(rendered) as image:
master = image.convert('RGBA')
finally:
rendered.unlink(missing_ok=True)
for size in PNG_SIZES: