Mercurial > rinkhals
annotate regenerate-pngs.py @ 31:3c4db7bba432
Add 's' as a key for starting the game from the menu.
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Sun, 30 Aug 2009 18:56:09 +0000 |
parents | 53960047c186 |
children | c8436f1752d7 |
rev | line source |
---|---|
18
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
1 #!/usr/bin/env python |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
2 |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
3 import cairo |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
4 import rsvg |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
5 import os |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
6 |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
7 def svg_to_png(svg_name, png_name, w, h): |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
8 """Convert an SVG file to a PNG file.""" |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
9 r = rsvg.Handle(svg_name) |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
10 |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
11 scale = max(float(r.props.width) / w, float(r.props.height) / h) |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
12 scale = 1.0 / scale |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
13 |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
14 r.props.dpi_x = r.props.dpi_x / scale |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
15 r.props.dpi_y = r.props.dpi_y / scale |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
16 |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
17 cs = cairo.ImageSurface(cairo.FORMAT_ARGB32, w, h) |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
18 ctx = cairo.Context(cs) |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
19 ctx.scale(scale, scale) |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
20 r.render_cairo(ctx) |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
21 cs.write_to_png(png_name) |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
22 |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
23 def main(path, width, height): |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
24 for dirpath, dirnames, filenames in os.walk(path): |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
25 for filename in filenames: |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
26 basename, ext = os.path.splitext(filename) |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
27 if ext == ".svg": |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
28 svg_name = os.path.join(dirpath, basename + ".svg") |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
29 png_name = os.path.join(dirpath, basename + ".png") |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
30 print "Generating %s at %dx%d..." % (png_name, width, height) |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
31 svg_to_png(svg_name, png_name, width, height) |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
32 |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
33 if __name__ == "__main__": |
53960047c186
Script for generating .png images from .svg.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
34 main("data", 20, 20) |