OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5469|回复: 4

emwin-如何将SD卡中的bmp图片显示在emwin的BUTTON小工具上

[复制链接]

7

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2016-12-27
在线时间
38 小时
发表于 2017-6-19 19:40:00 | 显示全部楼层 |阅读模式
emwin-如何将SD卡中的bmp图片显示在emwin的BUTTON小工具上。或者怎样SD卡中的bmp图片显示在emwin的window窗口中。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11471
金钱
11471
注册时间
2013-3-8
在线时间
1226 小时
发表于 2017-6-20 09:25:24 | 显示全部楼层
zhaoshan413 发表于 2017-6-20 09:09
BUTTON_SetBMPEx():Sets a bitmap from external memory to be displayed on a BUTTON widget.

试试 ...

static void _cbButton0(WM_MESSAGE * pMsg)
{  
        WM_HWIN  hWin;

hWin  = pMsg->hWin;  
        switch (pMsg->MsgId)   
  {  
      case WM_PAINT:   
        if (BUTTON_IsPressed(hWin))     
                                {   
//                                        GUI_SetBkColor(GUI_WHITE);     
//                                        GUI_Clear();     
                                        GUI_SetAlpha(0xb0);     
                                        GUI_DrawBitmap(&bmbluetooth_bmp, 0,0);
                                        GUI_SetAlpha(0);      
                                }     
                                else     
                                {     
                                        GUI_DrawBitmap(&bmbluetooth_bmp, 0, 0);     
                                }   
                        break;      
                        default:   
                                BUTTON_Callback(pMsg);  
        }
}


static void _cbDialog(WM_MESSAGE * pMsg) {
  int NCode;
  int Id;
  WM_HWIN hItem;
  switch (pMsg->MsgId)
        {
                case WM_INIT_DIALOG:
                                       
                hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0);   
                WM_SetHasTrans(hItem);                   
                WM_SetCallback(hItem, _cbButton0);
               


回复 支持 1 反对 0

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11471
金钱
11471
注册时间
2013-3-8
在线时间
1226 小时
发表于 2017-6-19 19:45:40 | 显示全部楼层
按钮重绘就可以了。
回复 支持 反对

使用道具 举报

7

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2016-12-27
在线时间
38 小时
 楼主| 发表于 2017-6-19 20:02:54 | 显示全部楼层
augustedward 发表于 2017-6-19 19:45
按钮重绘就可以了。

利用BmpCvtST.exe软件将bmp图片生成位图文件以后,里面有个结构体,利用函数BUTTON_SetBitmap(hItem,BUTTON_BI_UNPRESSED,&bmapp8);就可以了(其中bmapp8是位图结构体)。
但是从SD卡读的bmp图片,找不到这种结构体。请问您说的按钮重绘需要调用哪个函数?
回复 支持 反对

使用道具 举报

1

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2012-3-29
在线时间
18 小时
发表于 2017-6-20 09:09:19 | 显示全部楼层
2398275823 发表于 2017-6-19 20:02
利用BmpCvtST.exe软件将bmp图片生成位图文件以后,里面有个结构体,利用函数BUTTON_SetBitmap(hItem,BUTT ...

BUTTON_SetBMPEx():Sets a bitmap from external memory to be displayed on a BUTTON widget.

试试这个函数能实现吗?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 07:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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