打印
[应用相关]

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

[复制链接]
381|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
>_<:学习贴图[bmp图]:首先找一张bmp格式的图片,然后下载uC-BmpCvt软件,打开改图片
>_<:然后点击Image-Conver-Into-Best Palatte调成最佳调色板,然后save格式为默认格式:

使用特权

评论回复
沙发
deadtime|  楼主 | 2020-1-1 16:52 | 只看该作者
>_<:结果生成了一个kk.c文件:

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

使用特权

评论回复
板凳
deadtime|  楼主 | 2020-1-1 16:53 | 只看该作者
#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 = {
  16,    /* number of entries */
  0,     /* No transparency */
  &Colorskk[0]
};

const unsigned char ackk[] = {...};
const GUI_BITMAP bmkk = {
798, /* XSize */
480, /* YSize */
399, /* BytesPerLine */
4, /* BitsPerPixel */
ackk,  /* Pointer to picture data (indices) */
&Palkk  /* Pointer to palette */
};

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

44

主题

470

帖子

2

粉丝