--- /dev/null
+#!/usr/bin/python
+
+def escape(str):
+ result=""
+ for c in str:
+ if c=='"':
+ result+='\\"'
+ elif c=='\\':
+ result+='\\\\'
+ elif ord(c)<0x20:
+ result+="\\%03o"%ord(c)
+ else:
+ result+=c
+ return result;
+
+def make_tex(fn):
+ import Image
+
+ img=Image.open(fn)
+
+ fmt="".join(img.getbands())
+ if fmt=="LA":
+ fmt="LUMINANCE_ALPHA"
+ elif fmt=="L":
+ 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())
+ 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"
+
+ return result
+
+if __name__=="__main__":
+ import sys
+ import os
+
+ 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.write(make_tex(sys.argv[1]))