#!/usr/bin/python
def escape(str):
- result=""
+ result = ""
for c in str:
if c=='"':
- result+='\\"'
+ result += '\\"'
elif c=='\\':
- result+='\\\\'
+ result += '\\\\'
elif ord(c)<0x20:
- result+="\\%03o"%ord(c)
+ result += "\\%03o"%ord(c)
else:
- result+=c
+ result += c
return result;
def make_tex(fn):
import Image
- img=Image.open(fn)
+ img = Image.open(fn)
- fmt="".join(img.getbands())
+ fmt = "".join(img.getbands())
if fmt=="LA":
- fmt="LUMINANCE_ALPHA"
+ fmt = "LUMINANCE_ALPHA"
elif fmt=="L":
- fmt="LUMINANCE"
+ fmt = "LUMINANCE"
- result="storage %s %d %d;\n"%(fmt, img.size[0], img.size[1])
- result+="min_filter LINEAR;\n"
- result+="raw_data \""
- data=list(img.getdata())
+ result = "storage %s %d %d;\n"%(fmt, img.size[0], img.size[1])
+ result += "min_filter LINEAR;\n"
+ result += "raw_data \""
+ data = list(img.getdata())
for y in range(img.size[1]):
- i=(img.size[1]-1-y)*img.size[0]
- result+=escape("".join(["".join([chr(v) for v in p]) for p in data[i:i+img.size[0]]]))
- result+="\";\n"
+ i = (img.size[1]-1-y)*img.size[0]
+ result += escape("".join(["".join([chr(v) for v in p]) for p in data[i:i+img.size[0]]]))
+ result += "\";\n"
return result
if len(sys.argv)<2:
print "Usage: %s <image>"%sys.argv[0]
else:
- out=file(os.path.splitext(sys.argv[1])[0]+".tex", "w")
+ out = file(os.path.splitext(sys.argv[1])[0]+".tex", "w")
out.write(make_tex(sys.argv[1]))