transparent canvas with chroma keying for little vGL

编程入门 行业动态 更新时间:2024-10-12 05:46:32

transparent <a href=https://www.elefans.com/category/jswz/34/1769176.html style=canvas with chroma keying for little vGL"/>

transparent canvas with chroma keying for little vGL

  • 定义画布尺寸

    #define TRANSPARENT_CANVAS_WIDTH    50
    #define TRANSPARENT_CANVAS_HIGHT    50
  • 创建一个button

    lv_btn_create(lv_scr_act(), NULL);
  • 定义画布缓冲buffer,注意不能是局部的

    static lv_color_t cbuf[LV_CANVAS_BUF_SIZE_INDEXED_1BIT(TRANSPARENT_CANVAS_WIDTH,TRANSPARENT_CANVAS_HIGHT)];
  • 创建画布对象

     lv_obj_t* canvas = lv_canvas_create(lv_scr_act(), NULL);
  • 设置关联画布缓冲buffer

     lv_canvas_set_buffer(canvas, cbuf, TRANSPARENT_CANVAS_WIDTH, TRANSPARENT_CANVAS_HIGHT, LV_IMG_CF_INDEXED_1BIT);
  •    设置透明和红色2个调色盘

        lv_canvas_set_palette(canvas, 0, LV_COLOR_TRANSP);lv_canvas_set_palette(canvas, 1, LV_COLOR_RED);
  • 定义颜色变量C0,C1

        lv_color_t c0;lv_color_t c1;c0.full = 0;c1.full = 1;
    
  • 绘制C0,C1

    lv_canvas_fill_bg(canvas, c1);uint32_t x, y;for (y = 10; y < 30; y++){for (x = 5; x < 20; x++){lv_canvas_set_px(canvas, x, y, c0);}}
  • 完整的实现

#define TRANSPARENT_CANVAS_WIDTH    50
#define TRANSPARENT_CANVAS_HIGHT    50
void transparent_canvas_demo(void) {lv_btn_create(lv_scr_act(), NULL);static lv_color_t cbuf[LV_CANVAS_BUF_SIZE_INDEXED_1BIT(TRANSPARENT_CANVAS_WIDTH,TRANSPARENT_CANVAS_HIGHT)];lv_obj_t* canvas = lv_canvas_create(lv_scr_act(), NULL);lv_canvas_set_buffer(canvas, cbuf, TRANSPARENT_CANVAS_WIDTH, TRANSPARENT_CANVAS_HIGHT, LV_IMG_CF_INDEXED_1BIT);lv_canvas_set_palette(canvas, 0, LV_COLOR_TRANSP);lv_canvas_set_palette(canvas, 1, LV_COLOR_RED);lv_color_t c0;lv_color_t c1;c0.full = 0;c1.full = 1;lv_canvas_fill_bg(canvas, c1);uint32_t x, y;for (y = 10; y < 30; y++) {for (x = 5; x < 20; x++) {lv_canvas_set_px(canvas, x, y, c0);}}
}
  • 调用transparent_canvas_demo函数,编译运行

 

更多推荐

transparent canvas with chroma keying for little vGL

本文发布于:2024-02-06 03:46:48,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1746251.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:canvas   transparent   chroma   vGL   keying

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!