#!/usr/bin/env python # -*- coding: utf-8 -*- # vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 # 128x64 # convert gnaa.png +dither -monochrome -colors 2 image.bmp from PIL import Image import sys import math import zlib #import zlib invert = 0 def set_bit(value, bit): return value | (1< 64 or width > 128): sys.exit() banks = math.ceil(height / 8); #print(banks) buf = [] for bank in range(0, banks): for x in range(0, width): value = 0 if (invert == 1): value = 255 c = 7 #print("OI") for y in range( (bank * 8 ) + 7, (bank * 8) - 1, -1): #print(bank, x, y) b = im.getpixel((x,y)) if (b == 1 or b == 255): value = set_bit(value, c) if (invert == 1): value = clear_bit(value, c) c = c - 1 buf.append(value) #buffer = zlib.compress(bytes(buffer)) frames.append({'name': 'sprite_' + str(counter), 'buf': zlib.compress(bytes(buf))}) counter = counter + 1 print('#include "sprites.h"') print() for item in frames: print_array(item['name'] + "_Buf", item['buf']) for item in frames: print_sprites(item['name'], height, width)