硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2773|回复: 5
收起左侧

[emWin] ucgui显示bitmap的数据转换问题

[复制链接]

270

主题

605

回帖

1415

积分

至尊会员

积分
1415
发表于 2016-8-5 18:09:13 | 显示全部楼层 |阅读模式
刚用ucgui自己写了个24bit的bmp图显示代码。
bmp图是用emwin的工具bmp cvt转换的,存储了一种颜色,采用的是24bit方式,0xE6, 0x00, 0x12,
图片大小为10*11像素。
但是在显示的时候发现,由于这个bmp的格式是字节对齐的,所以,2个像素的话,只需要6字节,即0xE6, 0x00, 0x12,0xE6, 0x00, 0x12,
但是mcu发送数据不都是32bit的,即发2像素需要8字节。
这就导致bmp数据丢失的问题。

不知道ewin里面是怎么做的,应该是做了处理的吧
由于ucgui里面没有24bit的处理,只有自己来实现了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2016-8-6 09:33:41 | 显示全部楼层
低版本的ucgui应该是支持24bit的,你用的那个版本。
回复

使用道具 举报

270

主题

605

回帖

1415

积分

至尊会员

积分
1415
 楼主| 发表于 2016-8-7 11:26:20 | 显示全部楼层

回 eric2013 的帖子

eric2013:低版本的ucgui应该是支持24bit的,你用的那个版本。 (2016-08-06 09:33) 
好像是V3.91的吧
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2016-8-8 09:54:50 | 显示全部楼层

回 jplzl10000 的帖子

jplzl10000:好像是V3.91的吧
 (2016-08-07 11:26) 
用我的这个3.98看看
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=2127
回复

使用道具 举报

270

主题

605

回帖

1415

积分

至尊会员

积分
1415
 楼主| 发表于 2016-8-8 15:20:17 | 显示全部楼层
刚看了一下你给的这个ucos+V3.98里面的GUI_DrawBitmap_888.c文件和core/lcd.c两个文件
发现应该是没有24bit下的bitmap画图函数,在lcd.c里面没有实现。
在GUI_DrawBitmap_888.c文件中的_DrawBitmap()函数关于24bit的操作应该也是错误的。
读取数据都是用的pData += BytesPerLine / 4;这句
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2016-8-9 00:43:42 | 显示全部楼层

回 jplzl10000 的帖子

jplzl10000:刚看了一下你给的这个ucos+V3.98里面的GUI_DrawBitmap_888.c文件和core/lcd.c两个文件
发现应该是没有24bit下的bitmap画图函数,在lcd.c里面没有实现。
在GUI_DrawBitmap_888.c文件中的_DrawBitmap()函数关于24bit的操作应该也是错误的。
读取数据都是用的pData += BytesPerLine / .. (2016-08-08 15:20) 
那就还是用emWin吧,很快就会发布新版的2.0  emWin教程。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-17 23:52 , Processed in 0.154643 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表