OpenEdv-开源电子网

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

emwin截屏并导出bmp格式的图片文件到u盘

[复制链接]

1

主题

4

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2019-12-6
在线时间
1 小时
发表于 2019-12-6 09:47:06 | 显示全部楼层 |阅读模式
1金钱
现在公司有一个项目,想把lcd的每一帧都截屏,已经把截屏功能实现了,但是后面的图片导出和转成bmp格式的方法搞不懂

最佳答案

查看完整内容[请看2#楼]

自己写的按下按键截图并保存到SD卡的功能,改下就行了。 FIL Prtscfile; void _WriteByte2File(uint8_t Data, void * p) { FRESULT result; result = f_write(p, &Data, 1, &bw); } static void PRTSCTask(void *p_arg) { OS_ERR err; CPU_TS Ts; char buf[35]; FRESULT result; (void)p_arg; // f_mkdir("0:/PRTSC"); while(1) { if(KEY_Scan(0) == KEY1_PRES) { sprintf(buf,"0:/PRTSC/PRTS ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

424

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1020
金钱
1020
注册时间
2014-9-4
在线时间
199 小时
发表于 2019-12-6 09:47:07 | 显示全部楼层
自己写的按下按键截图并保存到SD卡的功能,改下就行了。

FIL Prtscfile;
void _WriteByte2File(uint8_t Data, void * p)
{
        FRESULT result;
        result = f_write(p, &Data, 1, &bw);
}

static void PRTSCTask(void *p_arg)
{
        OS_ERR err;
        CPU_TS Ts;
        char buf[35];
        FRESULT result;
        (void)p_arg;
//        f_mkdir("0:/PRTSC");
        while(1) {       
                if(KEY_Scan(0) == KEY1_PRES) {
                        sprintf(buf,"0:/PRTSC/PRTSC%02d%02d%02d%02d%02d%02d.bmp",
                                                calendar.w_year,calendar.w_month,calendar.w_date,calendar.hour,calendar.min,calendar.sec);
                        OSSchedLock(&err);
                        /* 创建截图 */
                        result = f_open(&Prtscfile, buf, FA_WRITE|FA_CREATE_ALWAYS);
                        /* 向SD卡绘制BMP图片 */
                        GUI_BMP_Serialize(_WriteByte2File, &Prtscfile);
                       
                        /* 创建完成后关闭file */
                        result = f_close(&Prtscfile);
                        OSSchedUnlock(&err);
                        BEEP=1;
                        OSTimeDlyHMSM(0, 0, 0, 120, OS_OPT_TIME_HMSM_STRICT, &err);
                        BEEP=0;
                }
                OSTimeDlyHMSM(0, 0, 0, 10, OS_OPT_TIME_HMSM_STRICT, &err);       
        }   
}
https://github.com/WZTENG
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2019-7-8
在线时间
19 小时
发表于 2019-12-6 11:27:49 | 显示全部楼层
这个怎么做呢
回复

使用道具 举报

37

主题

595

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1572
金钱
1572
注册时间
2017-7-17
在线时间
308 小时
发表于 2019-12-6 12:32:54 | 显示全部楼层

截屏啊,就是一帧画面渲染好后,送去显示的同时,将显存里面的数据编码成图片嘛。
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2019-12-6
在线时间
1 小时
 楼主| 发表于 2019-12-6 12:56:48 | 显示全部楼层
candylife9 发表于 2019-12-6 12:32
截屏啊,就是一帧画面渲染好后,送去显示的同时,将显存里面的数据编码成图片嘛。

能具体一点吗,或者说再哪里能找到相关资料
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2019-7-8
在线时间
19 小时
发表于 2019-12-6 12:57:12 | 显示全部楼层
candylife9 发表于 2019-12-6 12:32
截屏啊,就是一帧画面渲染好后,送去显示的同时,将显存里面的数据编码成图片嘛。

原子哥的例程中是有直接调用emwin函数截屏存到SD卡里面的,是不是不用再做显存编码了
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2019-12-6
在线时间
1 小时
 楼主| 发表于 2019-12-6 12:58:02 | 显示全部楼层
初威澄 发表于 2019-12-6 12:56
能具体一点吗,或者说再哪里能找到相关资料

找了很多,都是怎么加载图片,没有导出呀
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2019-12-6
在线时间
1 小时
 楼主| 发表于 2019-12-6 14:50:01 | 显示全部楼层
WZTENG 发表于 2019-12-6 13:39
自己写的按下按键截图并保存到SD卡的功能,改下就行了。

FIL Prtscfile;

好的,我试试
回复

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2019-12-6 15:10:06 | 显示全部楼层
WZTENG 发表于 2019-12-6 13:39
自己写的按下按键截图并保存到SD卡的功能,改下就行了。

FIL Prtscfile;

牛逼,要是有整个工程就好了
业精于勤荒于嬉;行成于思毁于随!
回复

使用道具 举报

6

主题

1127

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1656
金钱
1656
注册时间
2019-8-15
在线时间
102 小时
发表于 2019-12-6 17:17:48 | 显示全部楼层
帮顶                                                  
成功没有捷径
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 21:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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