| 123456789101112131415161718192021222324252627282930 |
- #!/usr/bin/env python3
- import sys, getopt, os
- from PIL import Image
- def getvalue(i, im):
- r, g, b = im[i]
- color = (int(r * 31 / 255) << 11) + (int(g * 63 / 255) << 5) + (int(b * 31 / 255))
- return "0x" + format(color, "04X")
- file = sys.argv[1]
- im = Image.open(file)
- width, height = im.size
- im = list(im.convert("RGB").getdata())
- sprite = "unsigned short " + os.path.splitext(file)[0] + "[] =\n{\n"
- sprite += "\t" + str(width) + ", " + str(height) + ", "
- sprite += getvalue(0, im)
- sprite += ",\n\t"
- for i in range(width * height):
- sprite += getvalue(i, im)
- if i != width * height - 1:
- if (i + 1) % 10 == 0:
- sprite += ",\n\t"
- else:
- sprite += ", "
- sprite += "\n};"
- print(sprite)
|