draws bitmaps better
This commit is contained in:
27
bmp2h.py
27
bmp2h.py
@@ -13,24 +13,23 @@ def get_bytestring(fname):
|
||||
const uint8_t """ + bmp_name + """_data[] PROGMEM = {""", end="")
|
||||
|
||||
with Image.open(fname) as im:
|
||||
w = im.size[0]
|
||||
h = im.size[1]
|
||||
w, h = im.size
|
||||
im = im.convert('L')
|
||||
pix = im.load()
|
||||
|
||||
for i in range(w*h // 8):
|
||||
x = (i * 8) % w
|
||||
y = i // (w // 8)
|
||||
b = 0
|
||||
if x == 0:
|
||||
print("")
|
||||
for bit in range(8):
|
||||
if x + bit >= w: break
|
||||
if y >= h: break
|
||||
if pix[x + bit, y] < 127:
|
||||
b += 1 << bit
|
||||
print("\t", hex(b), end=", ")
|
||||
row_bytes = (w + 7) // 8
|
||||
|
||||
for y in range(h):
|
||||
print("")
|
||||
for bx in range(row_bytes):
|
||||
x = bx * 8
|
||||
b = 0
|
||||
for bit in range(8):
|
||||
if x + bit >= w:
|
||||
break
|
||||
if pix[x + bit, y] < 127:
|
||||
b += 1 << bit
|
||||
print("\t", hex(b), end=", ")
|
||||
|
||||
|
||||
print("""
|
||||
|
||||
Reference in New Issue
Block a user