Files
TerminalCE/scripts/convert-fonttiles.py
T

33 lines
959 B
Python
Executable File

#!/usr/bin/python
from PIL import Image
import struct, sys
print("[convert-fonttiles] converting file " + sys.argv[1] + " to binary file " + sys.argv[2])
tilesheetPNG = Image.open(sys.argv[1])
tilesheetBIN = open(sys.argv[2], "wb")
tilesheetPixels = tilesheetPNG.load()
tilesheetX, tilesheetY = tilesheetPNG.size
horizTiles = int(tilesheetX/8)
vertTiles = int(tilesheetY/8)
totalTiles = horizTiles*vertTiles
def generateTile(x,y,image):
tile = []
for py in range(0,8):
row = []
for px in range(0,8):
r,g,b,a = image[(8*x)+px,(8*y)+py]
row.append(((r+g+b)>384))
tile.append(sum([int(row[b])*(2**(7-b)) for b in range(0,8)]))
return tile
generatedTileData = []
for y in range(0,vertTiles):
for x in range(0,horizTiles):
generatedTileData += generateTile(x,y,tilesheetPixels)
tilesheetBIN.write(bytearray(generatedTileData))
print("[convert-fonttiles] conversion complete.")