12.4 emWin模拟器显示位图
这里我们将12.3.1小节和12.3.2小节生成的图片在模拟器上面显示出来,关于如何在模拟器中运行如下代码,已经在第6章和第8章进行过讲解,这里不再赘述。下面是部分代码,省略了大部分图片数据,完整代码在例子V6-509_STemWin实验_2D图形库之位图绘制(模拟器)里面:
- #include "GUI.h"
- #include "stdio.h"
-
- #ifndef GUI_CONST_STORAGE
- #define GUI_CONST_STORAGE const
- #endif
-
- extern GUI_CONST_STORAGE GUI_BITMAP bmpic;
-
- static GUI_CONST_STORAGE unsigned short _acpic[] = {
- 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- 0xFFFF, 0xFFFF, 0xFFFF,
- 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFDE, 0xFFBE, 0xFFBE, 0xFFBE,
- 0xFFBE, 0xFFBE, 0xFFBE, 0xFFDE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- 0xFFFF, 0xFFFF, 0xFFFF,
- 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFBD, 0xF75B, 0xF6F9, 0xF697, 0xEE34, 0xEE13, 0xEDD1, 0xEDD1, 0xEDD1,
- 0xEDD1, 0xEDD1, 0xEDD1, 0xEE13, 0xEE55, 0xF6B7, 0xF71A, 0xF75C, 0xFFBE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* 后面的数据未列出 */
-
- };
-
- GUI_CONST_STORAGE GUI_BITMAP bmpic = {
- 64, // xSize
- 64, // ySize
- 128, // BytesPerLine
- 16, // BitsPerPixel
- (unsigned char *)_acpic, // Pointer to picture data
- NULL, // Pointer to palette
- GUI_DRAW_BMP565
- };
-
- static GUI_CONST_STORAGE unsigned long _acpic1[] = {
- 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000,
- 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000,
- 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000,
- /* 后面的数据未列出 */
- };
-
- GUI_CONST_STORAGE GUI_BITMAP bmpic1 = {
- 64, // xSize
- 64, // ySize
- 256, // BytesPerLine
- 32, // BitsPerPixel
- (unsigned char *)_acpic1, // Pointer to picture data
- NULL, // Pointer to palette
- GUI_DRAW_BMP8888
- }
-
- /*********************************************************************
- *
- * MainTask
- */
- void MainTask(void) {
-
- /* emWin初始化 */
- GUI_Init();
-
- /* 设置字体 */
- GUI_SetFont(&GUI_Font16B_ASCII);
-
- /* 显示RGB565格式的位图 */
- GUI_DispStringAt("This is RGB565 bitmap", 100, 50);
- GUI_DrawBitmap(&bmpic, 20, 20);
-
- /* 显示ARGB8888格式的位图 */
- GUI_DispStringAt("This is ARGB8888 bitmap", 100, 150);
- GUI_DrawBitmap(&bmpic1, 20, 120);
-
- while (1)
- {
- GUI_Delay(10);
- }
- }
- /*************************** End of file ****************************/
复制代码 实际显示效果如下: |