硬汉嵌入式论坛

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

[emWin] emwin 的alpha问题求解

[复制链接]

1

主题

8

回帖

1

积分

新手上路

积分
1
发表于 2014-4-28 15:59:20 | 显示全部楼层 |阅读模式
硬件平台:STM32103VET6 + 4.3寸 SSD1963 TFT
开发环境:keil MDK 4.12
软件:UC/OS-II + emWin
移植emwin 后其他例程都没问题唯独Alpha 这块效果出不来,看了论坛的一圈,回来再调试,还是没调出来,
调了好久了,应该是移植的问题,就是不知道问题出在哪里了,希望高人指点一下,小弟万分感激!!!
0017.JPG
没有alpha效果
附带原文件 STM32+ucOS II V2.86 emWin5.12.rar (10.8 MB, 下载次数: 98)
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107122
QQ
发表于 2014-4-28 16:01:20 | 显示全部楼层
我这里下载速度有点慢,楼主你把你的emWin任务里的函数贴出来我看下。
回复

使用道具 举报

1

主题

8

回帖

1

积分

新手上路

积分
1
 楼主| 发表于 2014-4-28 16:11:33 | 显示全部楼层

回 eric2013 的帖子

eric2013:我这里下载速度有点慢,楼主你把你的emWin任务里的函数贴出来我看下。 (2014-04-28 16:01)
用你上次的实验函数,就是没效果,郁闷中,
void GUIDEMO_Main(void)
{
int i;

        GUI_Init();
        GUI_EnableAlpha(1);         /* 启用或禁用自动Alpha混合 */

        /* 绘制蓝色填充的圆圈 */
        GUI_SetColor(GUI_BLUE);
        GUI_FillCircle(100, 50, 49);

        GUI_SetColor(GUI_YELLOW);
        for (i = 0; i < 100; i++)
        {
                U8 Alpha;
                Alpha = (i * 255 / 100);
                GUI_SetAlpha(Alpha);
                GUI_DrawHLine(i, 100 - i, 100 + i);
        }

        GUI_SetAlpha(0x80);
        GUI_DrawBitmap(&bmarmfly, 30, 30);
        GUI_SetColor(GUI_MAGENTA);
        GUI_SetFont(&GUI_Font24B_ASCII);
        GUI_SetTextMode(GUI_TM_TRANS);
        GUI_DispStringHCenterAt("Alphablending", 100, 3);
        GUI_SetAlpha(0); /* Set back to default (opaque) */

        while(1)
        {
                GUI_Delay(100);
        }
}
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107122
QQ
发表于 2014-4-28 16:16:19 | 显示全部楼层
你板子上读取屏颜色的函数没有问题吧。
回复

使用道具 举报

1

主题

8

回帖

1

积分

新手上路

积分
1
 楼主| 发表于 2014-4-28 16:23:52 | 显示全部楼层

回 eric2013 的帖子

eric2013:你板子上读取屏颜色的函数没有问题吧。 (2014-04-28 16:16)
读屏没问题呀,其他GUIDEMO 例程没问题呀,
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107122
QQ
发表于 2014-4-28 18:04:52 | 显示全部楼层
莫非这个需要使用大的动态内存,你尝试这个例子行吗?
http://www.armbbs.cn/forum.php?mod=viewthread&tid=1785
1.png
回复

使用道具 举报

1

主题

8

回帖

1

积分

新手上路

积分
1
 楼主| 发表于 2014-4-28 20:17:57 | 显示全部楼层

回 eric2013 的帖子

eric2013:莫非这个需要使用大的动态内存,你尝试这个例子行吗?
http://www.armbbs.cn/forum.php?mod=viewthread&tid=1785

(2014-04-28 18:04)
[s:140] 谢谢你了,搞定了,我知道了我的读点函数没有问题
用WM_GetDesktopWindow()取桌面的句柄,给桌面设置一个回调函数,然后再回调函数里画背景颜色或者是背景图片,这样Alpha 的效果就出来了,我是这样做得
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107122
QQ
发表于 2014-4-28 20:47:40 | 显示全部楼层

回 tangguochang 的帖子

tangguochang:[s:140] 谢谢你了,搞定了,我知道了我的读点函数没有问题
用WM_GetDesktopWindow()取桌面的句柄,给桌面设置一个回调函数,然后再回调函数里画背景颜色或者是背景图片,这样Alpha 的效果就出来了,我是这样做得 (2014-04-28 20:17) 
恩,解决了就好
回复

使用道具 举报

7

主题

38

回帖

59

积分

初级会员

积分
59
发表于 2015-1-16 10:43:15 | 显示全部楼层

回 tangguochang 的帖子

tangguochang:[s:140] 谢谢你了,搞定了,我知道了我的读点函数没有问题
用WM_GetDesktopWindow()取桌面的句柄,给桌面设置一个回调函数,然后再回调函数里画背景颜色或者是背景图片,这样Alpha 的效果就出来了,我是这样做得 (2014-04-28 20:17)
亲,我按照你说的做结果是三个矩形被覆盖了,我的也出不了透明效果,纠结中
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 16:42 , Processed in 0.185408 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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