#!/usr/bin/python from PIL import Image import sys import os import struct """Convert image to raw binary using Python Imaging Library.""" def split_seq(seq, splitsize): newseq = [] while seq: newseq.append(seq[:splitsize]) seq = seq[splitsize:] return newseq if __name__=="__main__": if len(sys.argv) < 3: print "Usage: %s [palette]" % os.path.split(sys.argv[0])[1] print "WARNING: It only converts 8bit images at the moment... and no tiling." sys.exit() im = Image.open(sys.argv[1]) output = open(sys.argv[2], "wb") width, height = im.size for y in range(height): for x in range(width): val = im.getpixel((x, y)) output.write(chr(val)) if len(sys.argv) > 3: pal_output = open(sys.argv[3], "wb") for color in split_seq(im.palette.palette, 3): r, g, b = map(lambda col : col >> 3, map(ord, color)) value = (b << 10) + (g << 5) + r pal_output.write(struct.pack("