|
发表于 2015-4-19 10:06:59
|
显示全部楼层
使用cmsis_os文件系统。
hItem = WM_GetDialogItem(hWin, ID_IMAGE_0); //获取IMAGE句柄
sprintf(FileName,"\\\\Image\\\\%02d_%s.bmp",StaffInf.Type,StaffInf.Number); //拼接文件名
DrawBmpImage(hItem,FileName); //显示照片
//功能:在IMAGE中显示人员照片
//入口:IMAGE句柄、文件名
//出口:无
void DrawBmpImage(WM_HWIN hImage,char *DrawBmpImage)
{
static GUI_MEMDEV_Handle hMem;
char *buf;
fsFileInfo info;
FILE *fin;
uint32_t i;
info.fileID =0;
i=ffind ((const char *)DrawBmpImage,&info);
if(i==0)
{//找到文件,显示人员照片
if(hMem!=NULL)
{
GUI_ALLOC_Free(hMem);
}
hMem=GUI_ALLOC_AllocNoInit(info.size); //申请内存空间
buf=GUI_ALLOC_h2p(hMem);
fin = fopen ((const char *)DrawBmpImage,"r");
fread (buf, info.size, 1, fin);
fclose (fin);
IMAGE_SetBMP(hImage, buf, info.size);
}
else
{//显示无照片
info.fileID =0;
ffind ("\\\\SysPictures\\\\NoPhoto.bmp",&info);
if(hMem!=NULL)
{
GUI_ALLOC_Free(hMem);
}
hMem=GUI_ALLOC_AllocNoInit(info.size); //申请内存空间
buf=GUI_ALLOC_h2p(hMem);
fin = fopen ("\\\\SysPictures\\\\NoPhoto.bmp","r");
fread (buf, info.size, 1, fin);
fclose (fin);
IMAGE_SetBMP(hImage, buf, info.size);
}
} |
|