From 44d9572f5c80d7fffd1cdec28e20f3315c5cc583 Mon Sep 17 00:00:00 2001 From: sommermoregentraum Date: Sun, 21 Jan 2024 18:51:08 +0800 Subject: [PATCH] add_bitmap_reverse_decode (#1795) --- firmware/tools/bitmap_arr_reverse_decode.py | 36 +++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 firmware/tools/bitmap_arr_reverse_decode.py diff --git a/firmware/tools/bitmap_arr_reverse_decode.py b/firmware/tools/bitmap_arr_reverse_decode.py new file mode 100644 index 000000000..aa4927532 --- /dev/null +++ b/firmware/tools/bitmap_arr_reverse_decode.py @@ -0,0 +1,36 @@ +from PIL import Image +import numpy as np + +bitmap_data = [ + 0x30, 0x00, + 0x30, 0x00, + 0x30, 0x00, + 0x30, 0x00, + 0x30, 0x00, + 0x30, 0x00, + 0xFC, 0x00, + 0xCE, 0x01, + 0x86, 0x01, + 0xFE, 0x01, + 0x86, 0x31, + 0x86, 0x49, + 0xCE, 0x87, + 0xFC, 0x84, + 0xFC, 0x4B, + 0x78, 0x30, +] + +bitmap_size = (16, 16) + +image_data = np.zeros((bitmap_size[1], bitmap_size[0]), dtype=np.uint8) + +for y in range(bitmap_size[1]): + for x in range(bitmap_size[0]): + byte_index = (y * bitmap_size[0] + x) // 8 + bit_index = x % 8 + # bit_index = 7 - (x % 8) + pixel_value = (bitmap_data[byte_index] >> bit_index) & 1 + image_data[y, x] = pixel_value * 255 + +image = Image.fromarray(image_data, 'L') +image.save('decoded.png')