File: processblu.py

package info (click to toggle)
simavr 1.6%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 20,268 kB
  • sloc: ansic: 362,806; makefile: 622; ruby: 70; python: 63
file content (75 lines) | stat: -rw-r--r-- 2,263 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import Image,struct
img = Image.open('blu.tiff')

class CharData(object):
    def __init__(self, data):
        if data is None:
            self.data = [ [] for y in range(7) ]
        else:
            self.data = data

    def concat( self, other ):
        for y in range(7):
            self.data[y] += other.data[y]

    def get_bindata(self):
        ll = len(self.data[0])
        ret=''
        for y in reversed(range(7)):
            for x in self.data[y]:
                ret += struct.pack('BBBB',*x)
        return ret
            

    def save_as(self, name):
        height = 7
        width = len(self.data[0])
        outimg = Image.frombuffer( "RGBA", (width, height),
            self.get_bindata())
        outimg.save(name)
            

def char_at(char_x,char_y):
    """
    char_x specifies, zero based, the x position of the character
    """
    start_x = 1+char_x+ 14*char_x+2
    start_y = 1+char_y*22+1
    print "Starting at %i,%i" %( start_x,start_y)
    return CharData([[ img.getpixel( (start_x+2*x,start_y+2*y) ) for x in range(5)] for y in range(7)])


chardata = CharData(None)
for x in range(16): #0x00 - 0x0F
    chardata.concat( char_at(0,x) )
for x in range(16): #0x10 - 0x1F
    chardata.concat( char_at(0,x) )
for x in range(16): #0x20 - 0x2F
    chardata.concat( char_at(1,x) )
for x in range(16): #0x30 - 0x3F
    chardata.concat( char_at(2,x) )
for x in range(16): #0x40 - 0x4F
    chardata.concat( char_at(3,x) )
for x in range(16): #0x50 - 0x5F
    chardata.concat( char_at(4,x) )
for x in range(16): #0x60 - 0x6F
    chardata.concat( char_at(5,x) )
for x in range(16): #0x70 - 0x7F
    chardata.concat( char_at(6,x) )
for x in range(16): #0x80 - 0x8F
    chardata.concat( char_at(0,x) )
for x in range(16): #0x90 - 0x9F
    chardata.concat( char_at(0,x) )
for x in range(16): #0xA0 - 0xAF
    chardata.concat( char_at(7,x) )
for x in range(16): #0xB0 - 0xBF
    chardata.concat( char_at(8,x) )
for x in range(16): #0xC0 - 0xCF
    chardata.concat( char_at(9,x) )
for x in range(16): #0xD0 - 0xDF
    chardata.concat( char_at(10,x) )
for x in range(16): #0xE0 - 0xEF
    chardata.concat( char_at(11,x) )
for x in range(16): #0xF0 - 0xFF
    chardata.concat( char_at(12,x) )
print chardata.save_as('7x5font.tiff')