This repository has been archived on 2026-04-01. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
original-mcpe-0.6.1/tools/ImgToCArray.py
2026-04-01 23:13:15 +02:00

37 lines
1.1 KiB
Python

#converts an image to a C array with the given name
#width and height are saved in <name>_w and <name>_h
import sys
import Image
def emitDataArray(varname, arr, perLine=12):
size = len(arr)
l = ['unsigned char %s[%d] = {\n'%(varname, size)]
for (z, ch) in enumerate(arr):
l.append(("%s,"%hex(ord(ch))))
#l.append(("%d,"%ord(ch)))
if (z+1) % perLine == 0: l.append("\n");
l.append("\n};")
return "".join(l)
def emitImgDataArray(varname, imgfn, perLine=12):
img = Image.open(imgfn)
pixdata = list(img.getdata())
data = []
for pix in pixdata:
data.extend( map(chr, pix) )
l = ["const int %s_W = %d;\nconst int %s_H = %d;\n"%(varname, img.size[0], varname, img.size[1])]
l.append( emitDataArray(varname, "".join(data)) )
return "\n".join(l)
if __name__ == "__main__":
try:
fn = sys.argv[1]
varname = sys.argv[2]
except:
print("Usage: %s <img-filename> <out-variable-name>"%sys.argv[0])
sys.exit(1)
print emitImgDataArray( varname, fn )