forked from Blinkenbunt/blup
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
840 B
29 lines
840 B
8 years ago
|
#!/usr/bin/env python3
|
||
|
|
||
|
import blup.frame
|
||
|
import blup.animation
|
||
7 years ago
|
import blup.writebml
|
||
8 years ago
|
import sys
|
||
|
|
||
|
if len(sys.argv) != 3:
|
||
|
print('usage: %s INFILE OUTFILE' % (sys.argv[0]), file=sys.stderr)
|
||
|
sys.exit(1)
|
||
|
infname = sys.argv[1]
|
||
|
outfname = sys.argv[2]
|
||
|
|
||
|
anim = blup.animation.load(infname)
|
||
|
|
||
|
dim = blup.frame.FrameDimension(22, 16, 256, 3)
|
||
|
newanim = blup.animation.Animation(dim)
|
||
|
|
||
|
for f in anim:
|
||
|
newf = blup.animation.AnimationFrame(dim, f.delay)
|
||
|
for x in range(f.dimension.width):
|
||
|
for y in range(f.dimension.height):
|
||
|
newf.setPixel(x + 2, y*2, tuple(map(lambda x: int((x/anim.dimension.depth)*dim.depth), f.getPixel(x, y))))
|
||
|
newf.setPixel(x + 2, y*2 + 1, tuple(map(lambda x: int((x/anim.dimension.depth)*dim.depth), f.getPixel(x, y))))
|
||
|
newanim.addFrame(newf)
|
||
|
|
||
|
writebml.writeBml(newanim, outfname)
|
||
|
|