您尚未登录。

楼主 #1 2019-07-10 14:54:07

c88377293
会员
注册时间: 2018-12-28
已发帖子: 16
积分: 6

lvgl移植,图像撕裂

lvgl移植中,图像出现撕裂

test1

test2

同样的,移植AWTK的时候也出现类似的情况

test3


但是我自己实现的UI,却又是正常的,这是为什么,有哪位大神能帮忙看看

test4


我使用的是韦东山的jz2440,2.6内核

最近编辑记录 c88377293 (2019-07-10 14:54:38)

离线

楼主 #3 2019-07-10 15:52:59

c88377293
会员
注册时间: 2018-12-28
已发帖子: 16
积分: 6

Re: lvgl移植,图像撕裂

晕哥,我检查过了,在电脑上模拟器运行是正常的,但是一放到开发板上就这样子了,awtk和lvgl都这样子,这就有点奇怪了

离线

楼主 #4 2019-07-10 16:14:53

c88377293
会员
注册时间: 2018-12-28
已发帖子: 16
积分: 6

Re: lvgl移植,图像撕裂

问题找到,我移植的是最新的6.0的lvgl,然后和旧版本的刷新函数比较了下,差距如下

uint16_t * fbp16 = (uint16_t *)fbp;
int32_t y;
for(y = act_y1; y <= act_y2; y++) {
    location = (act_x1 + vinfo.xoffset) + (y + vinfo.yoffset) * finfo.line_length / 2;
    memcpy(&fbp16[location], (uint32_t *)color_p, (act_x2 - act_x1 + 1) * 2);
    color_p += w;
}


/*

旧版本

uint16_t * fbp16 = (uint16_t *)fbp;
int32_t y;
int32_t x;

for(y = act_y1; y <= act_y2; y++) {
    for(x = act_x1; x <= act_x2; x++) {
        location = (x + vinfo.xoffset) + (y + vinfo.yoffset) * finfo.line_length / 2;
        fbp16[location] = color_p->full;
        color_p++;
    }

    color_p += area->x2 - act_x2;
}

*/

将这里的刷新函数换成旧版本的,就解决了,但是还不是很理解代码的差异

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn