小学生
最后登录1970-1-1
在线时间 小时
注册时间2018-7-2
|
/*
*********************************************************************************************************
* 函 数 名: _ShowJPEG2
* 功能说明: 显示JPEG图片
* 形 参:
* 返 回 值: 返回绘制了JPEG图片的内存设备句柄。
*********************************************************************************************************
*/
GUI_HMEM _ShowJPEG2(void)
{
char *_acBuffer;
GUI_HMEM hMem;
GUI_MEMDEV_Handle hMemJPEG;
/* 申请一块内存空间 并且将其清零 */
hMem = GUI_ALLOC_AllocZero(98720UL + 1); //实际图片大小 98720UL + 1
/* 将申请到内存的句柄转换成指针类型 */
_acBuffer = GUI_ALLOC_h2p(hMem);
/* 读取文件到动态内存 */
CopyPicToSRAM(_acBuffer); //把图片内容复制到申请的内存中
GUI_JPEG_GetInfo(_acBuffer, PIC_LEN, &JpegInfo);
/* 创建内存设备,并将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;
}
主函数里使用:
hMemJPEG = _ShowJPEG2(); /* 加载JPEG图片到内存设备 */
GUI_MEMDEV_WriteAt(hMemJPEG, 0, 0);/* 显示图片 */
按照上述步骤,我已经把JPEG放到动态缓存了,为什么显示还是很慢,从0,0
|
|