硬汉嵌入式论坛

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

[emWin] 图形淡入程序会将红色淡入成蓝色,是不是还是ARGB的问题

[复制链接]

2

主题

8

回帖

14

积分

新手上路

积分
14
发表于 2019-7-5 20:13:13 | 显示全部楼层 |阅读模式
使用GUI_MEMDEV_FadeInWindow()函数,计划实现开始时,位图logo淡入效果.
结果发现淡入后,染色不对.接着做了一个测试,淡入矩形.

结果,蓝色会被淡入成红色.是不是还是ARGB的问题.
程序使用官方V6-911_STemWin提高篇实验_智能家居主界面设计(FreeRTOS)修改,默认STemWin540_CM4_OS_IAR_ot_ARGB.a库,
同时测试了,STemWin_CM4_OS_wc32_ot_ARGB.a库,效果一样.

编辑环境IAR 8.20.
请教高手,这个问题如何解决.





QQ图片20190705200444.jpg
Snipaste_2019-07-05_20-04-38.png
Snipaste_2019-07-05_20-07-22.png

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

15.13 MB, 下载次数: 27

回复

使用道具 举报

23

主题

1443

回帖

1512

积分

至尊会员

积分
1512
发表于 2019-7-5 20:59:30 | 显示全部楼层
再用ABGR格式库测试下。

或者模拟器直接测试下
代码不规范,亲人两行泪!
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2019-7-6 11:32:31 | 显示全部楼层
missfox 发表于 2019-7-5 20:59
再用ABGR格式库测试下。

或者模拟器直接测试下

使用5.32的模拟器,做了仿真,是正确的.
capture-2.gif
回复

使用道具 举报

23

主题

1443

回帖

1512

积分

至尊会员

积分
1512
发表于 2019-7-6 11:37:08 | 显示全部楼层
skywoan 发表于 2019-7-6 11:32
使用5.32的模拟器,做了仿真,是正确的.

5.50以前的模拟器版本都是ABGR格式
你将你的工程也改成ABGR格式测试下
代码不规范,亲人两行泪!
回复

使用道具 举报

23

主题

1443

回帖

1512

积分

至尊会员

积分
1512
发表于 2019-7-6 11:39:49 | 显示全部楼层
像你现在这种情况,还是老老实实先用ABGR格式库搞好些,否则出了问题,你就束手无策
代码不规范,亲人两行泪!
回复

使用道具 举报

23

主题

1443

回帖

1512

积分

至尊会员

积分
1512
发表于 2019-7-6 12:04:08 | 显示全部楼层
本帖最后由 missfox 于 2019-7-6 12:05 编辑

改成下面就对了,在模拟器5.50测试通过,否则你的程序不能用
hLogo = GUI_MEMDEV_CreateFixed(0, 0, 200, 62, GUI_MEMDEV_NOTRANS, GUI_MEMDEV_APILIST_32, GUICC_M8888I);
  GUI_MEMDEV_Select(hLogo);
  GUI_SetBkColor(GUI_WHITE);
  GUI_Clear();
  GUI_SetColor(GUI_RED);
  GUI_FillRect(0,0,200,62);
  GUI_MEMDEV_Select(0);


  hMemWork = GUI_MEMDEV_CreateFixed(0, 0, 200, 62, GUI_MEMDEV_NOTRANS, GUI_MEMDEV_APILIST_32, GUICC_M8888I);
  GUI_MEMDEV_Select(hMemWork);
  GUI_SetBkColor(GUI_BLACK);
  GUI_Clear();
  GUI_SetColor(GUI_YELLOW);
  GUI_FillRect(0,0,200,62);
  GUI_MEMDEV_Select(0);
  GUI_MEMDEV_Write(hMemWork);
  GUI_Delay(1000);




代码不规范,亲人两行泪!
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2019-7-6 12:24:35 | 显示全部楼层
missfox 发表于 2019-7-6 12:04
改成下面就对了,在模拟器5.50测试通过,否则你的程序不能用
hLogo = GUI_MEMDEV_CreateFixed(0, 0, 200, ...

顺利解决问题
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-18 04:50 , Processed in 0.236404 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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