[stm32] 利用uC-BmpCvt软件生成uc-gui可调用的bmp图片

时间:2022-01-10 07:37:47

>_<:学习贴图[bmp图]:首先找一张bmp格式的图片,然后下载uC-BmpCvt软件,打开改图片

[stm32] 利用uC-BmpCvt软件生成uc-gui可调用的bmp图片

>_<:然后点击Image-Conver-Into-Best Palatte调成最佳调色板,然后save格式为默认格式:

[stm32] 利用uC-BmpCvt软件生成uc-gui可调用的bmp图片

>_<:结果生成了一个kk.c文件:

  • 这里Colorskk[]是16个颜色;
  • Palkk是根据上面的16个颜色构建对应的调色板;
  • ackk[]为Bmp图的内容;
  • bmkk为根据上面的调色板,bmp内容建立uc-gui的函数可以调用的图片格式,在Fun函数里用函数GUI_DrawBitmap(&bmkk,0,0);就能把这幅图贴在(0,0)位置啦!
 #include "stdlib.h"

 #include "GUI.H"

 /*   Palette
The following are the entries of the palette table.
Every entry is a 32-bit value (of which 24 bits are actually used)
the lower 8 bits represent the Red component,
the middle 8 bits represent the Green component,
the highest 8 bits (of the 24 bits used) represent the Blue component
as follows: 0xBBGGRR
*/ const GUI_COLOR Colorskk[] = {
0xFFFFFF,0x000000,0xC0C0C0,0x808080
,0x00FFFF,0xFF0000,0x008080,0x800000
,0x0000FF,0x000080,0xFFFF00,0x808000
,0x008000,0x800080,0xFF00FF,0x00FF00
}; const GUI_LOGPALETTE Palkk = {
, /* number of entries */
, /* No transparency */
&Colorskk[]
}; const unsigned char ackk[] = {...};
const GUI_BITMAP bmkk = {
, /* XSize */
, /* YSize */
, /* BytesPerLine */
, /* BitsPerPixel */
ackk, /* Pointer to picture data (indices) */
&Palkk /* Pointer to palette */
};