小农农 2023-05-29 15:26 采纳率: 0%
浏览 57
已结题

LVGL视频上层显示文本出现文本渲染bug

《LVGL视频播放界面实现方法》这篇博客,用了这个方法有个问题,就是字幕显示在上层的时候,会有字体渲染问题,字符底下会有黑色小块。这个要怎么解决?
播放视频用的不是lvgl库提供的方法,用的ffmpeg播放的视频,只有显示的文本字幕才用了lvgl。

  • 写回答

5条回答 默认 最新

  • 还有头发的程序员- 2023-05-30 17:37
    关注
    获得0.75元问题酬金
    
    /* 初始化屏幕风格 */
    static lv_style_t style_scr_act;
    if (style_scr_act.prop_cnt == 0) {
        lv_style_init(&style_scr_act);
        /* 默认不是透明的,后面按需要切换即可 */
        lv_style_set_bg_opa(&style_scr_act, LV_OPA_COVER);
        /* 一定要应用风格,不然也是没有效果的 */
        lv_obj_add_style(lv_scr_act(), &style_scr_act, 0);
    }
    
    /* 这里根据按钮状态,切换不同风格,一种是UI能够透明看到底下的视频,一种是UI覆盖视频,视频就看不到了 */
    if (lv_obj_has_state(btn, LV_STATE_CHECKED)) {
        /* 这里切换为UI透明 */
        lv_label_set_text(label, "Stop");
        /* 这里设置屏幕是透明的 */
        lv_disp_get_default()->driver->screen_transp = 1;
        /* 这里设置屏幕背景是透明的 */
        lv_disp_set_bg_opa(lv_disp_get_default(), LV_OPA_TRANSP);
        /* 这里清空屏幕,不清空的话,可能不会生效 */
        lv_memset_00(lv_disp_get_default()->driver->draw_buf->buf_act,
                lv_disp_get_default()->driver->draw_buf->size
                        * sizeof(lv_color32_t));
        /* 这里屏幕风格切换为透明的 */
        lv_style_set_bg_opa(&style_scr_act, LV_OPA_TRANSP);
        /* 通知风格变化,需要更新 */
        lv_obj_report_style_change(&style_scr_act);
    } else {
        /* 这里切换为UI不透明,也就是覆盖视频 */
        lv_label_set_text(label, "Play");
        /* 这里设置屏幕是不透明的 */
        lv_disp_get_default()->driver->screen_transp = 0;
        /* 这里设置屏幕背景是不透明的 */
        lv_disp_set_bg_opa(lv_disp_get_default(), LV_OPA_COVER);
        /* 这里屏幕风格切换为不透明的 */
        lv_style_set_bg_opa(&style_scr_act, LV_OPA_COVER);
        /* 通知风格变化,需要更新 */
        lv_obj_report_style_change(&style_scr_act);
    }
    
    
    评论

报告相同问题?

问题事件

  • 系统已结题 6月6日
  • 修改了问题 5月29日
  • 创建了问题 5月29日

悬赏问题

  • ¥20 如何让程序ab.eXe自已删除干净硬盘里的本文件自己的ab.eXe文件
  • ¥50 爬虫预算充足,跪巨佬
  • ¥15 滑块验证码拖动问题悬赏
  • ¥15 Wanted but not invoked:Actually, there were zero interactions with this moc
  • ¥20 怎么驱动tb6612
  • ¥15 Arcgis 3D效果点要素
  • ¥15 在执行yolo训练脚本的时候,没有报错,在扫描val这一步后就推出执行了
  • ¥15 delphi开发的WEBSERVER改用HTTPS协议
  • ¥15 pic16f877A单片机的计数器proteus仿真失效
  • ¥100 调查 Vitis AI 中验证 .xmodel 量化后的正确性