blob: 7c81a6601505cb9157c0b905a8d8a600db9ab307 [file] [log] [blame]
from PIL import Image
import argparse
HEIGHT = 75
WIDTH = 100
def main(filename):
im = Image.open(filename)
print(f'Loading {filename}')
print(f'Original size: {im.size}')
im = im.resize((WIDTH, HEIGHT))
pix = im.load()
print(f'New size: {im.size}')
def convertColor(color):
r = int(color[0]/255*7)
g = int(color[1]/255*7)
b = int(color[2]/255*3)
return ((b&3) << 6) | ((g&7) << 3) | r&7
content = ""
for y in range(HEIGHT):
for x in range(WIDTH//4):
byte0 = convertColor(pix[x*4+0, y])
byte1 = convertColor(pix[x*4+1, y])
byte2 = convertColor(pix[x*4+2, y])
byte3 = convertColor(pix[x*4+3, y])
content += '{0:08X}\n'.format(byte3<<24|byte2<<16|byte1<<8|byte0)
index = filename.rfind(".")
filename = filename[:index] + ".hex"
print(f'Saving {filename}')
f = open(filename, "w")
f.write(content)
f.close()
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument('filename')
args = parser.parse_args()
main(args.filename)