X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=scripts%2Fmaketex.py;fp=scripts%2Fmaketex.py;h=92a284215796b1021ce8ca55f8098a668cc658e6;hb=aa6020a158c85fdb3b7e9993065861dd1b6531ad;hp=0000000000000000000000000000000000000000;hpb=a78452c80a0750e57fe3183c10a4a6ede9527e68;p=libs%2Fgl.git diff --git a/scripts/maketex.py b/scripts/maketex.py new file mode 100755 index 00000000..92a28421 --- /dev/null +++ b/scripts/maketex.py @@ -0,0 +1,46 @@ +#!/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 "%sys.argv[0] + else: + out=file(os.path.splitext(sys.argv[1])[0]+".tex", "w") + out.write(make_tex(sys.argv[1]))