[C] 纯文本查看 复制代码 filesize = f_size(&file);
hMem = GUI_ALLOC_AllocZero(filesize);////申请一块内存空间,并将其清零
_acBuffer = GUI_ALLOC_h2p(hMem);////将申请到的内存句柄转换成指针类型
result = f_read(&file, _acBuffer, filesize, &bw);
if (result != FR_OK)
{
ERROR("f_read(%s) =%d\n",pcFilename,result);
f_close(&file);
GUI_ALLOC_Free(hMem);
return ERR_FILE;
}
GUI_CreateBitmapFromStream(&bmp, &palette, _acBuffer);
/*创建内存设备,并将 BMP 图片绘制到此内存设备里面,此内存设备要在主程序中用到,不要释放*/
*hpMenDev = GUI_MEMDEV_CreateFixed(0,0,bmp.XSize,bmp.YSize,GUI_MEMDEV_HASTRANS,GUI_MEMDEV_APILIST_32,GUI_COLOR_CONV_8888);
GUI_MEMDEV_Select(*hpMenDev);
GUI_SetBkColor(GUI_TRANSPARENT);
GUI_Clear();
GUI_DrawBitmap(&bmp, 0, 0);
GUI_MEMDEV_Select(0);
GUI_ALLOC_Free(hMem);
我发加载图片线程包含如上emwin 接口,相当于多线程调用emwin,这样会导致这个问题么?如果会,如何在多线程中调用emwin? |