]> git.tdb.fi Git - libs/gl.git/blob - maketex.py
Bump version to 1.1
[libs/gl.git] / maketex.py
1 #!/usr/bin/python
2
3 # $Id$
4
5 def escape(str):
6         result=""
7         for c in str:
8                 if c=='"':
9                         result+='\\"'
10                 elif c=='\\':
11                         result+='\\\\'
12                 elif ord(c)<0x20:
13                         result+="\\%03o"%ord(c)
14                 else:
15                         result+=c
16         return result;
17
18 def make_tex(fn):
19         import Image
20
21         img=Image.open(fn)
22
23         fmt="".join(img.getbands())
24         if fmt=="LA":
25                 fmt="LUMINANCE_ALPHA"
26         elif fmt=="L":
27                 fmt="LUMINANCE"
28
29         result="storage %s %d %d 0;\n"%(fmt, img.size[0], img.size[1])
30         result+="min_filter LINEAR;\n"
31         result+="raw_data \""
32         data=list(img.getdata())
33         for y in range(img.size[1]):
34                 i=(img.size[1]-1-y)*img.size[0]
35                 result+=escape("".join(["".join([chr(v) for v in p]) for p in data[i:i+img.size[0]]]))
36         result+="\";\n"
37
38         return result
39
40 if __name__=="__main__":
41         import sys
42         import os
43
44         if len(sys.argv)<2:
45                 print "Usage: %s <image>"%sys.argv[0]
46         else:
47                 out=file(os.path.splitext(sys.argv[1])[0]+".tex", "w")
48                 out.write(make_tex(sys.argv[1]))