+++ /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]))