emWin2D图形库绘制位图

目标板:安富莱stm32-V6

使用FontCvtST小软件对BMP格式的图片处理生成c文件:

/*********************************************************************
*                SEGGER Microcontroller GmbH & Co. KG                *
*        Solutions for real time microcontroller applications        *
*                           www.segger.com                           *
**********************************************************************
*                                                                    *
* C-file generated by                                                *
*                                                                    *
*        Bitmap Converter (ST) for emWin V5.32.                      *
*        Compiled Oct  8 2015, 11:58:22                              *
*                                                                    *
*        (c) 1998 - 2015 Segger Microcontroller GmbH & Co. KG        *
*                                                                    *
**********************************************************************
*                                                                    *
* Source file: StartBmp                                              *
* Dimensions:  800 * 480                                             *
* NumColors:   16bpp: 65536                                          *
*                                                                    *
**********************************************************************
*/

#include 

#include "GUI.h"

#ifndef GUI_CONST_STORAGE
  #define GUI_CONST_STORAGE const
#endif

static GUI_CONST_STORAGE unsigned short _acStartBmp[] = {}  //数据太多不做显示
GUI_CONST_STORAGE GUI_BITMAP bmStartBmp = {
  800, // xSize
  480, // ySize
  1600, // BytesPerLine
  16, // BitsPerPixel
  (unsigned char *)_acStartBmp,  // Pointer to picture data
  NULL,  // Pointer to palette
  GUI_DRAW_BMP565
};

再添加头文件BMP.h

#ifndef _BMP_H_
#define _BMP_H_

extern GUI_CONST_STORAGE GUI_BITMAP bmStartBmp;

#endif

这样就可以调用GUI_DrawBitmap(&bmStartBmp, 0, 0);显示800*480的位图了,此种方式有两个问题:

①显示效果不好,有明显图片显示下拉感,目测刷新率不超过5帧每秒;

②因代码编译进去了BMP图片原始数据,生成的hex文件巨大,接近增加2M Byte;

总结:

在实际项目中此种方式不适合显示大图片。

你可能感兴趣的:(emWin2D图形库绘制位图)