Raw image sequence: Difference between revisions
No edit summary |
No edit summary |
||
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Following on from the [[Raw image]] example... | |||
<source lang="python"> | <source lang="python"> | ||
# rawimagesequence.py | |||
import struct, sys | import struct, sys | ||
Line 8: | Line 11: | ||
totalframes = 25 | totalframes = 25 | ||
for frame in xrange(totalframes): | for frame in xrange(totalframes): | ||
out = open(" | out = open("frame%04d.tga" % frame, "wb") | ||
out.write(header) | out.write(header) | ||
Line 27: | Line 30: | ||
</source> | </source> | ||
python rawimagesequence.py | |||
convert frame*. | |||
The outer loop of this script produces each of the 24 individual frames. Each frame has a different brightness calculated from full on (white) to full off (black). The frame variable is used to number the files using the special [http://docs.python.org/release/2.5.2/lib/typesseq-strings.html python string formatting operator] (%): | |||
print "hello%04d" % 23 | |||
==> | |||
hello0023 | |||
[[File:RawImageSequenceOutput.png]] | |||
You can use [[Imagemagick]] (for instance) to convert this to an animated gif: | |||
convert frame* fadetoblack.gif | |||
[[File:fadetoblack.gif]] |
Latest revision as of 13:39, 5 November 2013
Following on from the Raw image example...
# rawimagesequence.py
import struct, sys
width = 320
height = 240
header = struct.pack("<BBBHHBHHHHBB",0,0,2,0,0,8,0,0,width,height,32,1<<5)
totalframes = 25
for frame in xrange(totalframes):
out = open("frame%04d.tga" % frame, "wb")
out.write(header)
for y in xrange(height):
for x in xrange(width):
r = (1.0-(float(frame)/totalframes))*255
g = r
b = r
a = 255
out.write(struct.pack('B', b))
out.write(struct.pack('B', g))
out.write(struct.pack('B', r))
out.write(struct.pack('B', a))
print r
out.close()
python rawimagesequence.py
The outer loop of this script produces each of the 24 individual frames. Each frame has a different brightness calculated from full on (white) to full off (black). The frame variable is used to number the files using the special python string formatting operator (%):
print "hello%04d" % 23 ==> hello0023
You can use Imagemagick (for instance) to convert this to an animated gif:
convert frame* fadetoblack.gif