emWin使用资料收集(二) ----- 使用emWin和BmpCvt工具显示位图
来源:互联网 发布:淘宝网体验中心在哪里 编辑:程序博客网 时间:2024/05/16 17:07
Segger为emWin提供了BMP转换工具,可以直接生成C流文件。先准备一张BMP图片,大小不要超过屏幕的大小,我是在VS里面使用的模拟器,屏幕的大小设置为800*480。
打开BmpCvt这个软件,然后
File--Open,打开Bmp文件
Image--Convert to RGB。这里可以根据需要设置成其它
File--Save as--"C" Stream (*.dta),这样就在图片所在的文件夹里生成了相应的dta文件。至于这个C流文件 ,我的理解是软件先帮我们解码好了,当然是按照emWin已经设定好的格式去解码的。这样我们在使用的时候只需要直接读取,然后就可以显示出来了,速度相对来说快一点。
#include "GUI.h"#include "stdio.h"
void MainTask(void){ FILE *fp; GUI_ALLOC_DATATYPE hMem; char *_acBuffer; int size;
GUI_Init(); GUI_SetBkColor(GUI_BLACK); GUI_Clear(); GUI_SetFont(&GUI_Font24_ASCII);
/*只读方式打开流文件*/ fp = fopen("./MyTest/temp.dta", "r"); /*检测打开的结果*/ if (NULL == fp) { GUI_DispString("File open is error!"); } else { GUI_DispString("File open is ok!\n"); /*移动文件指针到结束*/ fseek( fp, 0L, SEEK_END ); /*获取偏移量即文件的大小*/ size = ftell( fp ); /*重新设置移动位置*/ fseek( fp, 0L, SEEK_SET ); /*申请和文件大小一样的内存*/ hMem = GUI_ALLOC_AllocZero(size); /*把申请到的内存转换成指针*/ _acBuffer = GUI_ALLOC_h2p(hMem); /*把文件读取到缓存*/ fread(_acBuffer, size, 1, fp); /*关闭文件*/ fclose(fp); /*直接显示出来*/ GUI_DrawStreamedBitmapAuto(_acBuffer, 0, 0); /*释放申请的内存*/ GUI_ALLOC_Free(hMem); }
while (1) { GUI_Delay(1000); }}
显示效果如下图:
转自
- emWin使用资料收集(二) ----- 使用emWin和BmpCvt工具显示位图
- emWin使用资料收集(一) ----- emWin 2天速成实例教程008_IconView图标控件使用方法
- EmWin移植与相关工具使用
- ucgui emwin使用qrencode显示二维码
- emwin使用自定义字库显示字母及汉字特殊字符
- emWin - BMP图片显示
- emWin显示汉字
- emWin - BMP图片显示
- emWin使用外部SRAM的方法
- emWin使用外部SRAM的方法
- emWin使用外部SRAM的方法
- emWin使用外部SRAM的方法
- emWin 2天速成实例教程014_BMP位图图片显示以及位图皮肤的使用方法
- emwin学习之路:关于menu小工具的使用
- 使用EMWIN过程中遇到的问题与解决方法
- [STemWin]emWin的矢量字体显示要用到malloc函数,那么如何让堆空间使用外部SRAM的解决办法
- emWin 2天速成实例教程004_软件定时器(Timer)和位图片动画
- emWin 2天速成实例教程004_软件定时器(Timer)和位图片动画
- jquery里面的$(this)和this都什么时候用,有什么区别
- Linux字符设备驱动程序编写基本流程
- C#中File类的文件操作方法详解
- 因为CircleImageView导致Binary XML file line #96: Error inflating class <unknown>
- 继承
- emWin使用资料收集(二) ----- 使用emWin和BmpCvt工具显示位图
- vue2 组件通信
- Laravel Carbon::diffForHumans 切换中文
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)
- hdu 4055
- wfi和wfe
- 原生JS轮播图
- 小米手机 miui 8.x开启开发者模式指导
- ubuntu 异常启动必须手动选择启动模式问题