zlgopen / awtk-stm32f103ze-raw

awtk在stm32f103ze平台上的移植。
GNU Lesser General Public License v2.1
59 stars 41 forks source link

lcd_reg.inc中 static ret_t lcd_reg_draw_image()函数 不支持RGB565 #2

Closed zhanglu993 closed 5 years ago

zhanglu993 commented 5 years ago

你好,最近在看您的AWTK,在调试过程中发现使用 image_gen编译出来的数组是 RGB565格式的,但是在使用lcd_reg.inc中static ret_t lcd_reg_draw_image()显示时是乱码。通过跟踪代码大概发现是由于该函数不支持RGB格式的图片。

xianjimli commented 5 years ago

谢谢,下午我看看。

xianjimli commented 5 years ago

不好意思,可能是前几天我测试nanovg-agge时,定义了WITH_BITMAP_RGB565并更新了资源。 你再试试,谢谢。

zhanglu993 commented 5 years ago

我试了,还是有问题,我现在是在static ret_t lcd_reg_draw_image(lcd_t lcd, bitmap_t img, rect_t src, rect_t dst) 函数里做了一个判断,然后RGB565单独刷才正常。 if(img->format != BITMAP_FMT_RGB565) {...} else { lcd_reg_set_window(x, y, x + dw - 1, y + dh - 1);

    for (j = 0; j < dh; j++) 
    {
        for (i = 0; i < dw; i++) 
        {
            pixel_num = (j*dh + i)*2;
            color_fill = data_point[pixel_num] + (data_point[pixel_num+1] << 8);                    
            write_data_func(color_fill);            
        }
    }   

}

xianjimli commented 5 years ago

我知道了,以前确实没支持,这两天加上。谢谢

xianjimli commented 5 years ago

支持了RGB565的图片,你有空试试。