LCD屏幕上显示出“File open is ok”,但是并没有显示出图片来,想知道是为什么?那个GUI_BMP_Draw到底怎么用才能在LCD上显示出BMP图像啊?
void MainTask3(void)
{
FS_FILE *fp;
GUI_ALLOC_DATATYPE hMem;
char *_acBuffer;
int size;
GUI_Init();
FS_Init();
GUI_SetBkColor(GUI_BLACK);
GUI_Clear();
GUI_SetFont(&GUI_Font24_ASCII);
/*只读方式打开流文件*/
fp = FS_FOpen("1.bmp", "w");
/*检测打开的结果*/
if (NULL == fp) {
GUI_DispString("File open is error!");
} else {
GUI_DispString("File open is ok!\n");
/*移动文件指针到结束*/
FS_FSeek( fp, 0L, FS_SEEK_END );
/*获取偏移量即文件的大小*/
size = FS_FTell( fp );
/*重新设置移动位置*/
FS_FSeek( fp, 0L, FS_SEEK_SET );
/*申请和文件大小一样的内存*/
hMem = GUI_ALLOC_AllocZero(size);
/*把申请到的内存转换成指针*/
_acBuffer = GUI_ALLOC_h2p(hMem);
/*把文件读取到缓存*/
FS_FRead(_acBuffer, 1, size, fp);
/*关闭文件*/
FS_FClose(fp);
/*直接显示出来*/
GUI_BMP_Draw(_acBuffer, 0, 0);
/*释放申请的内存*/
GUI_ALLOC_Free(hMem);
}
while (1) {
GUI_Delay(1000);
}
} |