From a5cc0634f6731bfabc9559b6a428796da8884023 Mon Sep 17 00:00:00 2001 From: Dejvino Date: Thu, 20 Apr 2023 05:50:42 +0200 Subject: [PATCH] Fix optimization colors handling --- test.py | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/test.py b/test.py index de3bf67..06531b3 100644 --- a/test.py +++ b/test.py @@ -8,11 +8,11 @@ epd_resolution = [600, 448] epd_colormap = [ [0x00, 0x00, 0x00], # black [0xff, 0xff, 0xff], # white - [0x00, 0xdd, 0x00], # green + [0x00, 0x90, 0x10], # green [0x00, 0x00, 0xee], # blue - [0x00, 0xdd, 0x00], # red + [0xff, 0x00, 0x00], # red [0xff, 0xdd, 0x00], # yellow - [0xff, 0x88, 0x00], # orange + [0xff, 0x77, 0x00], # orange ] images = ["lambo.bmp", "fallout.bmp", "nasa.bmp"] @@ -32,17 +32,17 @@ def draw_image(filename): offset_y = 0 color_map = {} def header_callback(header): - print("header callback: ", str(header)) + #print("header callback: ", str(header)) global epd_resolution + global offset_x, offset_y w = header[0] h = header[1] offset_x = (epd_resolution[0] - w)//2 offset_y = (epd_resolution[1] - h)//2 - print("offset: ", offset_x, offset_y) def pixel_callback(x, y, color): global epd global epd_colormap - + global offset_x, offset_y # translate color to color index color_index = 0 color_key = color[0] + color[1] << 8 + color[2] << 16 @@ -59,18 +59,11 @@ def draw_image(filename): if score < best_score: best_score = score best_index = index - if score < 20: + if score < 10: break color_index = best_index color_map[color_key] = color_index - - # hack directly into the 4-bit color buffer instead of: - # epd.pixel(offset_x + x, offset_y + y, color_to_index(color)) - buffer_pos = (offset_x + x + (offset_y + y) * epd_resolution[0]) - buffer_index = buffer_pos // 2 - if buffer_pos % 2 == 1: - buffer_pos = buffer_pos << 4 - epd.buffer[buffer_index] = color_index + epd.pixel(offset_x + x, offset_y + y, color_index) def pixel_row_callback(x, y, colors): pass #global epd