diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2011-09-18 12:04:03 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2011-09-18 12:44:32 +0200 |
commit | 3c66913cd2d7a37f57c656c282faf7d160e88ea8 (patch) | |
tree | 4ee1a0e10251e201164bf063ee1b3b13ce1b04df /scripts/qt/make_spinner.py | |
parent | 5dd7318db75db580d602c72a2322df97d8712233 (diff) |
move qt-specific scripts to qt-specific directory in scripts/
Diffstat (limited to 'scripts/qt/make_spinner.py')
-rwxr-xr-x | scripts/qt/make_spinner.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/scripts/qt/make_spinner.py b/scripts/qt/make_spinner.py new file mode 100755 index 0000000000..136aff3cb7 --- /dev/null +++ b/scripts/qt/make_spinner.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python +# W.J. van der Laan, 2011 +# Make spinning .mng animation from a .png +# Requires imagemagick 6.7+ +from __future__ import division +from os import path +from PIL import Image +from subprocess import Popen + +SRC='img/reload_scaled.png' +DST='../../src/qt/res/movies/update_spinner.mng' +TMPDIR='/tmp' +TMPNAME='tmp-%03i.png' +NUMFRAMES=35 +FRAMERATE=10.0 +CONVERT='convert' +CLOCKWISE=True +DSIZE=(16,16) + +im_src = Image.open(SRC) + +if CLOCKWISE: + im_src = im_src.transpose(Image.FLIP_LEFT_RIGHT) + +def frame_to_filename(frame): + return path.join(TMPDIR, TMPNAME % frame) + +frame_files = [] +for frame in xrange(NUMFRAMES): + rotation = (frame + 0.5) / NUMFRAMES * 360.0 + if CLOCKWISE: + rotation = -rotation + im_new = im_src.rotate(rotation, Image.BICUBIC) + im_new.thumbnail(DSIZE, Image.ANTIALIAS) + outfile = frame_to_filename(frame) + im_new.save(outfile, 'png') + frame_files.append(outfile) + +p = Popen([CONVERT, "-delay", str(FRAMERATE), "-dispose", "2"] + frame_files + [DST]) +p.communicate() + + + |