MF32BSP_XerolySkinner 2.0.0
C++版本的驱动库
载入中...
搜索中...
未找到
bsp_BMP.cpp
浏览该文件的文档.
1/*----------------------------------------------------------------------------------------------------
2 #
3 # Copyright (c) 2022 Yuankang Liang(XerolySkinner)
4 #
5 # 本软件按原样提供,无任何明示或暗示
6 # 在任何情况下,作者都不承担任何损害赔偿责任
7 #
8 # 使用的许可声明:
9 # 1. 不得歪曲本软件的来源,你不能声称你编写了原始软件.
10 # 2. 免费授予以任何目的,前提是版权声明出现在所有副本中.
11 # 并且版权声明和许可声明同时出现.
12 # 3. 你有使用,复制,修改,分发,和销售本软件的许可.
13 # 4. 如果你在产品中使用,产品文档中的声明是赞赏的但不是必须的.
14 # 5. 本通知不得从任何来源删除或更改.
15 #
16 # Yuankang Liang(XerolySkinner)
17 # E-mail:zabbcccbbaz@163.com
18 # QQ:2715099320
19 # Mobile Phone:13005636215
20 #
21 # All rights reserved.
22 */
23
34//----------------------------------------------------------------------------------------------------
35// 头文件
36#include "bsp_BMP.h"
38//----------------------------------------------------------------------------------------------------
39// 类函数
45void bsp_BMP::pels(u32 x, u32 y) {
53 free(dat);
54 dat = (u8*)malloc(Size);
55 return (u32)dat;}
59void bsp_BMP::delData(void) {
60 free(dat);}
68void bsp_BMP::ColorsSet(u8 R, u8 G, u8 B,u32 i) {
79 free(dat);
80 Size = x * y;
81 BITMAPINFO.bmiHeader.biWidth = x; // 色彩宽度
82 BITMAPINFO.bmiHeader.biHeight = y; // 色彩高度
84 sizeof(_BITMAPINFO); // 位图数据偏倚
86 x * y +
87 BITMAPINFO.bmfHeader.bfOffBits; // 文件大小
88 }
90//----------------------------------------------------------------------------------------------------
91// 构造函数
97bsp_BMP::bsp_BMP(u32 Width, u32 Height) {
98 bsp_BMP::dat = NULL;
99 bsp_BMP::Size = Width * Height;
100 BITMAPINFO.bmiHeader.biWidth = Width; // 色彩宽度
101 BITMAPINFO.bmiHeader.biHeight = Height; // 色彩高度
102 BITMAPINFO.bmfHeader.bfType = 0x4D42; // 恒为保护字
103 BITMAPINFO.bmfHeader.bfReserved1 = 0; // 保留字
104 BITMAPINFO.bmfHeader.bfReserved2 = 0; // 保留字
105 BITMAPINFO.bmiHeader.biCompression = 0; // 无压缩
106 BITMAPINFO.bmiHeader.biSizeImage = 0; // 无压缩下为0
107 BITMAPINFO.bmiHeader.biPlanes = 1; // 恒为保护字
108 BITMAPINFO.bmiHeader.biClrUsed = 0; // 使用全部颜色
109 BITMAPINFO.bmiHeader.biClrImportant = 0; // 全部颜色都重要
110 BITMAPINFO.bmiHeader.biXPelsPerMeter = 0; // 像素-不太重要
111 BITMAPINFO.bmiHeader.biYPelsPerMeter = 0; // 像素-不太重要
112 BITMAPINFO.bmiHeader.biSize = 40; // 信息头大小
114 sizeof(_BITMAPINFO); // 位图数据偏倚
116 Width * Height+
117 BITMAPINFO.bmfHeader.bfOffBits; // 文件大小
118 BITMAPINFO.bmiHeader.biBitCount = 8; // 色彩深度
119 }
120//----------------------------------------------------------------------------------------------------
122 free(dat);}
用来构造BMP图片
void ColorsSet(u8 R, u8 G, u8 B, u32 i)
设置调色板
Definition: bsp_BMP.cpp:68
u8 * dat
数据区
Definition: bsp_BMP.h:109
bsp_BMP(u32 Width, u32 Height)
构造BMP数据头
Definition: bsp_BMP.cpp:97
void pels(u32 x, u32 y)
设置像素
Definition: bsp_BMP.cpp:45
void sizeSet(u32 x, u32 y)
设置图片大小
Definition: bsp_BMP.cpp:78
~bsp_BMP(void)
Definition: bsp_BMP.cpp:121
_BITMAPINFO BITMAPINFO
文件头
Definition: bsp_BMP.h:107
u32 Size
文件大小
Definition: bsp_BMP.h:108
void delData(void)
释放数据空间
Definition: bsp_BMP.cpp:59
u32 giveData(void)
给予数据空间
Definition: bsp_BMP.cpp:52
u32 biYPelsPerMeter
Definition: bsp_BMP.h:68
u32 biClrImportant
Definition: bsp_BMP.h:70
u32 biXPelsPerMeter
Definition: bsp_BMP.h:67
BMP文件头
Definition: bsp_BMP.h:84
_BITMAPFILEHEADER bmfHeader
Definition: bsp_BMP.h:85
_BITMAPINFOHEADER bmiHeader
Definition: bsp_BMP.h:86
_RGBQUAD bmiColors[256]
Definition: bsp_BMP.h:87
u8 rgbGreen
Definition: bsp_BMP.h:77
u8 rgbReserved
Definition: bsp_BMP.h:79
u8 rgbRed
Definition: bsp_BMP.h:78
u8 rgbBlue
Definition: bsp_BMP.h:76
uint8_t u8
8位无符号数类型
Definition: varint.h:40
uint32_t u32
32位无符号数类型
Definition: varint.h:42