硬汉嵌入式论坛

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

[emWin] V6开发板使用 存储设备出现问题

[复制链接]

2

主题

8

回帖

14

积分

新手上路

积分
14
发表于 2019-7-3 15:16:50 | 显示全部楼层 |阅读模式
各位高手,本人在使用V6开发学习EMWIN的存储设备功能时,出现问题.请熟悉的高手,不吝赐教.
主要功能,想利用存储设备功能,实现位图的旋转,但是在使用过程中,如果在申请内存后,刷一下背景,则显示正常,如果不刷背景颜色,则显示不正常.
主要问题是透明部分显示的不对,

程序使用官方例程:V6-911_STemWin提高篇实验_智能家居主界面设计(FreeRTOS).
使用5.44库,位图已经按ARGB格式透明模式处理好.
此问题,还请高手不吝赐教.

BMP透明处理

BMP透明处理

V6官方

V6官方

程序问题

程序问题
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-7-3 15:20:38 | 显示全部楼层
直接上传工程。
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2019-7-3 15:40:26 | 显示全部楼层
非常高兴能得到版主的关注,由于本人刚刚接触EMWIN不太久,还没有融会贯通,所以多情版主关注.

V6-911_STemWin提高篇实验_智能家居主界面设计(FreeRTOS).rar

15.16 MB, 下载次数: 1

回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2019-7-3 15:42:39 | 显示全部楼层
编译软件使用的 IAR 8.2
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-7-3 16:14:49 | 显示全部楼层
ARGB格式库看来还是有些问题的,针对你这个问题,我有一个早期的帖子进行了说明。正确的效果应该帖子里面的才行

重要说明,使用存储设备绘制透明图片,透明部分都是黑色背景解决办法
http://www.armbbs.cn/forum.php?m ... 8879&fromuid=58
(出处: 安富莱电子论坛)

这种效果使用ABGR格式库是没问题的。
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2019-7-3 16:20:37 | 显示全部楼层
eric2013 发表于 2019-7-3 16:14
ARGB格式库看来还是有些问题的,针对你这个问题,我有一个早期的帖子进行了说明。正确的效果应该帖子里面的 ...

我参看版主的写的<专题一 关于ARGB>的那期文章,尝试了用最新的CUBE里面自带的5.44库进行了移植,效果还是同样的.
另外,版主能讲一下GUI_MEMDEV_Clear()这个函数的作用吗?
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2019-7-3 16:26:26 | 显示全部楼层
eric2013 发表于 2019-7-3 16:14
ARGB格式库看来还是有些问题的,针对你这个问题,我有一个早期的帖子进行了说明。正确的效果应该帖子里面的 ...

这个背景透明的模式 之前试过了,不行的
GUI_SetBkColor(GUI_TRANSPARENT);
GUI_Clear();

QQ图片20190703162218.jpg
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-7-3 16:36:21 | 显示全部楼层
解决了,是你自己写的程序问题,将你写的全部注释掉,使用我这个

        GUI_HMEM hMemPNG;
        
        hMemPNG = GUI_MEMDEV_CreateFixed(0, 0, 200, 200, GUI_MEMDEV_HASTRANS, GUI_MEMDEV_APILIST_32, GUI_COLOR_CONV_8888);

        GUI_MEMDEV_Select(hMemPNG);
        GUI_SetBkColor(GUI_TRANSPARENT);
        GUI_Clear();
        GUI_DrawBitmap(&bmmap, 0, 0);
        GUI_MEMDEV_Select(0);
        
        GUI_MEMDEV_WriteAt(hMemPNG, 10, 120);

QQ截图20190703163532.jpg
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2019-7-3 17:04:49 | 显示全部楼层
eric2013 发表于 2019-7-3 16:36
解决了,是你自己写的程序问题,将你写的全部注释掉,使用我这个

        GUI_HMEM hMemPNG;

多谢帮助的帮助,这个问题已经困扰我好久了,我分析了一下版主的代码,区别应该是我用的GUI_MEMDEV_CopyToLCD(); 而版主用的GUI_MEMDEV_Select(0);GUI_MEMDEV_Write(); 组合;看来这里出了问题. 另外,用版主同样的方法,在旋转后,没有输出了,能再占用版主点时间,给分析一下吗?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-7-3 17:05:55 | 显示全部楼层
skywoan 发表于 2019-7-3 17:04
多谢帮助的帮助,这个问题已经困扰我好久了,我分析了一下版主的代码,区别应该是我用的GUI_MEMDEV_CopyToLC ...

剩下的问题自己搞吧,就不帮你了。
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2019-7-3 18:22:29 | 显示全部楼层
eric2013 发表于 2019-7-3 17:05
剩下的问题自己搞吧,就不帮你了。

多谢版主
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-18 03:14 , Processed in 0.253905 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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