我是把图片生成.c文件,这个语句显示图片时lv_img_set_src(img_src, &red_flower);
red_flower结构体
const lv_img_t red_flower = {
.header.w = 100, /*Image width in pixel count*/
.header.h = 75, /*Image height in pixel count*/
.header.alpha_byte = 2, /*No alpha byte*/
.header.chroma_keyed = 0, /*No chroma keying*/
.header.format = LV_IMG_FORMAT_INTERNAL_RAW, /*It's a variable compiled into the code*/
.pixel_map = red_flower_pixel_map /*Pointer the array of image pixels.*/
};
1). alpha_byte、chroma_keyed 、format 这几个参数都表示什么意思,都应该赐什么样的值?
2). 如果我想显示jpg,bmp,png不同类型的图片,也都是用这一个lv_img_set_src函数吗?
离线
显示100X50的图片,没事,显示200X200的图片就花屏了,是怎么回事,是lv_conf.h文件里的,LV_MEM_SIZE这个参数小吗?我都改成#define LV_MEM_SIZE (3200U * 1024U) 也不行呀
离线
你现在搞定了吗?
离线
我是把图片生成.c文件,这个语句显示图片时lv_img_set_src(img_src, &red_flower);
red_flower结构体const lv_img_t red_flower = {
.header.w = 100, /*Image width in pixel count*/
.header.h = 75, /*Image height in pixel count*/
.header.alpha_byte = 2, /*No alpha byte*/
.header.chroma_keyed = 0, /*No chroma keying*/
.header.format = LV_IMG_FORMAT_INTERNAL_RAW, /*It's a variable compiled into the code*/
.pixel_map = red_flower_pixel_map /*Pointer the array of image pixels.*/
};1). alpha_byte、chroma_keyed 、format 这几个参数都表示什么意思,都应该赐什么样的值?
2). 如果我想显示jpg,bmp,png不同类型的图片,也都是用这一个lv_img_set_src函数吗?
你想把jpg,bmp和png图片生成.c文件,可以通过这个在线工具 https://littlevgl.com/image-to-c-array 进行转换。
跟格式关系不大。
默认Color format参数是True color。
如果你的图片里面有透明图层,则Color format参数那里可以选True color with alpha。
其他的几个参数在lvgl文档里面都有。
Alpha byte Add a 8 bit Alpha value to every pixel
Chroma keyed Make LV_COLOR_TRANSP (lv_conf.h) pixels to transparent
离线