|
在论坛看了几个几个教程,都不能完成一次显示图片;
教程一:
/* 创建内存设备,并将ARGB8888格式的位图绘制到内存设备上 */
hMem3 = GUI_MEMDEV_CreateFixed(0, 0, 800, 480, GUI_MEMDEV_HASTRANS,
GUI_MEMDEV_APILIST_32,
GUI_COLOR_CONV_8888);
GUI_MEMDEV_Select(hMem3);
GUI_DrawBitmap(&bmbackgroud, 0, 0); //实际执行这条语句就开始绘图了
GUI_MEMDEV_CopyToLCDAA(hMem3); //并不是执行这条语句一次显示的
教程二:
/* 创建内存设备,并将ARGB8888格式的位图绘制到内存设备上 */
hMem3 = GUI_MEMDEV_CreateFixed(0, 0, 800, 480, GUI_MEMDEV_HASTRANS,
GUI_MEMDEV_APILIST_32,
GUI_COLOR_CONV_8888);
GUI_MEMDEV_Select(hMem3);
GUI_DrawBitmap(&bmbackgroud, 0, 0); //实际执行这条语句就开始绘图了
GUI_MEMDEV_Select(0); //并不是执行这条语句一次显示的
教程三:
GUI_HMEM ShowJPEG2(void)
{
char *_acBuffer;
GUI_HMEM hMem;
GUI_MEMDEV_Handle hMemJPEG;
/* 申请一块内存空间 并且将其清零 */
hMem = GUI_ALLOC_AllocZero(sizeof(bmwww.pData));
/* 将申请到内存的句柄转换成指针类型 */
_acBuffer = GUI_ALLOC_h2p(hMem);
/* 读取文件到动态内存 */
CopyPicToSRAM(_acBuffer);
GUI_JPEG_GetInfo(_acBuffer, PIC_LEN, &JpegInfo); //把图片数据复制到动态内存_acBuffer中
/* 创建内存设备,并将JPEG图片绘制到此内存设备里面,此内存设备要在主程序中用到
所以退出此函数前,不要释放。
*/
hMemJPEG = GUI_MEMDEV_CreateEx(0, 0, JpegInfo.XSize, JpegInfo.YSize, GUI_MEMDEV_HASTRANS);
GUI_MEMDEV_Select(hMemJPEG);
GUI_JPEG_Draw(_acBuffer, PIC_LEN, 0, 0); //实际执行这条语句就开始绘图了
GUI_MEMDEV_Select(0);
/* 释放动态内存hMem */
GUI_ALLOC_Free(hMem);
return hMemJPEG;
}
以上几种方式都不能实现教程里说的,先把图片复制到LCD显存(存储设备)然后一次显示图片,请问我哪里错了吗?
|
|