|
关于开机logo,还有一个小问题,请大家帮忙看看。
[复制链接]
我的代码原来使用了一张图片,转成数组文件后,大小是2.1M。我现在要更改一张图片,转成数组文件后,大小是2.4M。按理说新的图片应该全部覆盖就的图片吧,但是我启动的时候,先看到新的图片,然后竟然还会显示1秒钟左右的旧的图片,才会进入wince桌面。
请问这个是怎么回事呢?
我实在oal里面加入图片显示的,在OEMinit中,执行两个函数,一个是LCDInitial,一个是SplashImage。其他代码部分包括bootloader部分都么有图片显示的设置。我现在的image都是写入flash的,是哪里没有清空吗?又该如何清空呢?非常感谢。
其中LCDInitial重要执行一个clearbuffer,代码如下:
- void ClearFrameBuffer()
- {
-
-
- DWORD i;
- unsigned *fbp;
-
- gFrameBuffer = (PBYTE)FRAME_BUFFER_0_BASE_VIRTUAL;
-
- fbp=(unsigned *)gFrameBuffer;
-
- for(i=0;i<(640*480*(16/8)/4);i++)
- {
- *fbp++ = 0x00000000; // Zeros turn it black
- }
- }
复制代码
不过这个似乎和显示图片没有太大关系。
LCDinitial后,执行SplashImage,代码如下:
- DWORD i,j;
- USHORT* fbp;
- int p=0;
- gFrameBuffer = (PBYTE)FRAME_BUFFER_0_BASE_VIRTUAL;
- fbp = (WORD *)gFrameBuffer;
-
- for(i=0;i<(640*480*(16/8)/2);i++)
- {
- *(fbp+i) = bitmap[((640*480)*(16/8)/2-i)];;
- }
- OALMSG(1, (L"+SplashImage --\r\n"));
复制代码
|
|