|
发表于 2016-12-27 18:50:06
|
显示全部楼层
不会啊,我的都正常用.给你一个我写的读取函数:
int _ReadBitmapFile(const char* path, char** fbuf)
{
//FIL * file; //必须用全局变量
U8 result;
UINT bw = 0;
GUI_HMEM hMem;
/* 打开文件 */
result = f_open(file, path, FA_OPEN_EXISTING | FA_READ | FA_OPEN_ALWAYS);
if (result != FR_OK)
{
return 0;
}
hMem = GUI_ALLOC_AllocZero(file->obj.objsize);
*fbuf = GUI_ALLOC_h2p(hMem);
/* 读取文件到动态内存 */
result = f_read(file, (*fbuf), file->obj.objsize, &bw);
if (result != FR_OK)
{
return 0;
}
return bw;
}
static char* _acbuffer[5];
static const char* popMeuPath[] = {
"0:/PHOTO/54x54_dta/Basic.dta",
"0:/PHOTO/54x54_dta/Calc.dta",
"0:/PHOTO/54x54_dta/Max.dta",
"0:/PHOTO/54x54_dta/Delay.dta",
"0:/PHOTO/54x54_dta/Lunit.dta",
};
switch (pMsg->MsgId)
{
case WM_INIT_DIALOG:
//
// Initialization of 'Image'
//
hItem = WM_GetDialogItem(pMsg->hWin, ID_IMAGE_0);
FileSize = _ReadBitmapFile(popMeuPath[0], &_acbuffer[0]);
IMAGE_SetDTA(hItem, _acbuffer[0], FileSize); |
|