|
发表于 2015-10-26 14:15:16
|
显示全部楼层
eric2013 你好,
我现在把我的测试程序贴上来,有时间麻烦帮我看一下,为什么我的方法一显示不了,通过串口打印出来的数据是一样的。
static const uint8_t _acImage_0[] =
{
//This is the data from png to dta.
//我把dta里面的数据Copy出来,放到这里,显示的和BMP32差不多。
}
void Iconview_Test(void)
{
#ifdef ICONVIEW_TEST_WAY_1
//此方法没有图片显示。
uint16_t iLoop;
FRESULT result;
GUI_HMEM hMem;
//char *_acBuffer;
uint8_t *_acBuffer;
WM_HWIN hIconview;
hMem = GUI_ALLOC_AllocZero(150000);
_acBuffer = GUI_ALLOC_h2p(hMem);
result = f_open(&file, "test.dta", FA_OPEN_EXISTING|FA_READ|FA_OPEN_ALWAYS);
if(result != FR_OK)
{
return;
}
result = f_read(&file,_acBuffer,file.fsize,&BytesRead);
if(result != FR_OK)
{
return;
}
WM_SetDesktopColor(GUI_GREEN);
printf("\\n==============================================================\\n");
for(iLoop = 0; iLoop < file.fsize;iLoop++)
{
printf("%02X ",_acBuffer[iLoop]);
if((iLoop + 1)%16 == 0)
printf("\\n");
}
printf("\\n==============================================================\\n");
GUI_EnableAlpha(1);
ICONVIEW_EnableStreamAuto();
hIconview = ICONVIEW_CreateEx(20,20,180,180,WM_HBKWIN,WM_CF_SHOW | WM_CF_HASTRANS,0,GUI_ID_ICONVIEW0,80,80);
ICONVIEW_AddStreamedBitmapItem(hIconview,(const void *)_acBuffer,"Test");
ICONVIEW_SetBkColor(hIconview, ICONVIEW_CI_SEL, GUI_BLUE | 0xF0000000);
ICONVIEW_SetFont(hIconview, &GUI_Font13B_ASCII);
GUI_ALLOC_Free(hMem);
f_close(&file);
#else
//此方法可以正常显示图片
uint16_t iLoop;
WM_HWIN hIconview;
WM_SetDesktopColor(GUI_GREEN);
printf("\\n==============================================================\\n");
for(iLoop = 0; iLoop < sizeof(_acImage_0)/sizeof(uint8_t);iLoop++)
{
printf("%02X ",_acImage_0[iLoop]);
if((iLoop + 1)%16 == 0)
printf("\\n");
}
printf("\\n==============================================================\\n");
GUI_EnableAlpha(1);
ICONVIEW_EnableStreamAuto();
hIconview = ICONVIEW_CreateEx(20,20,180,180,WM_HBKWIN,WM_CF_SHOW | WM_CF_HASTRANS,0,GUI_ID_ICONVIEW0,80,80);
ICONVIEW_AddStreamedBitmapItem(hIconview,(const void *)_acImage_0,"Test");
ICONVIEW_SetBkColor(hIconview, ICONVIEW_CI_SEL, GUI_BLUE | 0xF0000000);
ICONVIEW_SetFont(hIconview, &GUI_Font13B_ASCII);
#endif
} |
|