@ -0,0 +1,39 @@
@@ -0,0 +1,39 @@
|
||||
How to generate the update_spinner.mng |
||||
|
||||
You will need ImageMagick in your path (the 'convert' executable at least) |
||||
|
||||
Go here: http://preloaders.net/en/circular |
||||
|
||||
Select the base image you want to use. |
||||
|
||||
Image type: APNG |
||||
Transparent background: Yes |
||||
Foreground color: F2A555 (or select a color) |
||||
Animation speed: (default value) |
||||
Preloader size: 16 x 16 |
||||
|
||||
(no Advanced Options changed) |
||||
|
||||
Additional download options: |
||||
|
||||
Check Download as sprites |
||||
|
||||
Press Download now |
||||
|
||||
Rename the file to base.png |
||||
|
||||
convert -dispose 3 -delay 10 base.png -crop 16x16 +repage update_spinner.mng |
||||
|
||||
If you want to use the make_spinner.py (gives worse results): |
||||
|
||||
In http://preloaders.net/en/circular change |
||||
|
||||
Preloader size: 128 x 128 |
||||
|
||||
Press Download now |
||||
|
||||
Rename the file to base.png |
||||
|
||||
convert base.png -crop 128x128+0+0 reload_scaled.png |
||||
|
||||
and use the make_spinner.py . Note that the results aren't very good. |
@ -1,43 +0,0 @@
@@ -1,43 +0,0 @@
|
||||
#!/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() |
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 702 B After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 612 B After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 623 B After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 625 B After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 673 B After Width: | Height: | Size: 3.2 KiB |