Skip to content
This repository has been archived by the owner on Jul 28, 2020. It is now read-only.
/ pynanosvg Public archive

Cythonic wrapper around nanosvg for rasterizing SVGs

License

Notifications You must be signed in to change notification settings

ethanhs/pynanosvg

Repository files navigation

pynanosvg

NOTE: nanosvg is no longer actively maintained

Travis | AppVeyor

Pynanosvg is a wrapper around nanosvg a simple svg parsing library. I created pynanosvg because the only other options in Python were the librsvg bindings, which are very large!

Install

Simple:

git clone --recursive https://github.com/ethanhs/pynanosvg.git
cd pynanosvg
python3 -m pip install .

or just

python3 -m pip install pynanosvg

Usage

The following parses an SVG file, rasterizes it, and saves it as a PNG

# import things
from svg import Parser, Rasterizer, SVG
from PIL import Image  # for saving rasterized image
# Parse from a file
svg = Parser.parse_file('my_cool_img.svg')
print('Image is {} by {}.'.format(svg.width, svg.height))
rast = Rasterizer()
buff = rast.rasterize(svg, svg.width, svg.height)
im = Image.frombytes('RGBA', svg.width, svg.height, buff)
im.save('my_cool_img.png')  # save the converted image!