MF32BSP_XerolySkinner
2.0.0
C++版本的驱动库
载入中...
搜索中...
未找到
bsp_Device
bsp_math
bsp_BMP.h
浏览该文件的文档.
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
33
#pragma once
34
#ifdef __cplusplus
35
#include "
varint.h
"
36
#include <stdlib.h>
38
//----------------------------------------------------------------------------------------------------
39
// 文件头
40
#pragma pack(1)
44
typedef
struct
45
{
46
u16
bfType
;
//文件标志.固定为'BM',用来识别BMP位图类型
47
u32
bfSize
;
//文件大小,占四个字节
48
u16
bfReserved1
;
//保留,总为0
49
u16
bfReserved2
;
//保留,总为0
50
u32
bfOffBits
;
//从文件开始到位图数据(bitmap data)开始之间的的偏移量
51
}
_BITMAPFILEHEADER
;
55
typedef
struct
{
56
u32
biSize
;
//BITMAPINFOHEADER结构所需要的字数。
57
u32
biWidth
;
//图象的宽度,以象素为单位
58
u32
biHeight
;
//图象的高度,以象素为单位
59
u16
biPlanes
;
//为目标设备说明位面数,其值将总是被设为1
60
u16
biBitCount
;
//比特数/象素,其值为1、4、8、16、24、或32
61
u32
biCompression
;
//图象数据压缩的类型。其值可以是下述值之一:
62
//BI_RGB:没有压缩;
63
//BI_RLE8:每个象素8比特的RLE压缩编码,压缩格式由2字节组成(重复象素计数和颜色索引);
64
//BI_RLE4:每个象素4比特的RLE压缩编码,压缩格式由2字节组成
65
//BI_BITFIELDS:每个象素的比特由指定的掩码决定。
66
u32
biSizeImage
;
//图象的大小,以字节为单位。当用BI_RGB格式时,可设置为0
67
u32
biXPelsPerMeter
;
//水平分辨率,用象素/米表示
68
u32
biYPelsPerMeter
;
//垂直分辨率,用象素/米表示
69
u32
biClrUsed
;
//位图实际使用的彩色表中的颜色索引数
70
u32
biClrImportant
;
//对图象显示有重要影响的颜色索引的数目,如果是0,表示都重要。
71
}
_BITMAPINFOHEADER
;
75
typedef
struct
{
76
u8
rgbBlue
;
//指定蓝色强度
77
u8
rgbGreen
;
//指定绿色强度
78
u8
rgbRed
;
//指定红色强度
79
u8
rgbReserved
;
//保留,设置为0
80
}
_RGBQUAD
;
84
typedef
struct
{
85
_BITMAPFILEHEADER
bmfHeader
;
//位图文件头
86
_BITMAPINFOHEADER
bmiHeader
;
//位图信息头
87
_RGBQUAD
bmiColors[256];
//调色板
88
}
_BITMAPINFO
;
89
#pragma pack()
91
//----------------------------------------------------------------------------------------------------
92
// 头文件
96
class
bsp_BMP
{
97
public
:
98
bsp_BMP
(
u32
Width,
u32
Height);
99
~bsp_BMP
(
void
);
100
public
:
101
void
pels
(
u32
x,
u32
y);
102
u32
giveData
(
void
);
103
void
delData
(
void
);
104
void
ColorsSet
(
u8
R,
u8
G,
u8
B,
u32
i);
105
void
sizeSet
(
u32
x,
u32
y);
106
public
:
107
_BITMAPINFO
BITMAPINFO
;
108
u32
Size
;
109
u8
*
dat
;
110
};
112
#endif
bsp_BMP
构建一个BMP类
Definition:
bsp_BMP.h:96
bsp_BMP::ColorsSet
void ColorsSet(u8 R, u8 G, u8 B, u32 i)
设置调色板
Definition:
bsp_BMP.cpp:68
bsp_BMP::dat
u8 * dat
数据区
Definition:
bsp_BMP.h:109
bsp_BMP::pels
void pels(u32 x, u32 y)
设置像素
Definition:
bsp_BMP.cpp:45
bsp_BMP::sizeSet
void sizeSet(u32 x, u32 y)
设置图片大小
Definition:
bsp_BMP.cpp:78
bsp_BMP::~bsp_BMP
~bsp_BMP(void)
Definition:
bsp_BMP.cpp:121
bsp_BMP::BITMAPINFO
_BITMAPINFO BITMAPINFO
文件头
Definition:
bsp_BMP.h:107
bsp_BMP::Size
u32 Size
文件大小
Definition:
bsp_BMP.h:108
bsp_BMP::delData
void delData(void)
释放数据空间
Definition:
bsp_BMP.cpp:59
bsp_BMP::giveData
u32 giveData(void)
给予数据空间
Definition:
bsp_BMP.cpp:52
_BITMAPFILEHEADER
位图文件头
Definition:
bsp_BMP.h:45
_BITMAPFILEHEADER::bfSize
u32 bfSize
Definition:
bsp_BMP.h:47
_BITMAPFILEHEADER::bfReserved2
u16 bfReserved2
Definition:
bsp_BMP.h:49
_BITMAPFILEHEADER::bfType
u16 bfType
Definition:
bsp_BMP.h:46
_BITMAPFILEHEADER::bfReserved1
u16 bfReserved1
Definition:
bsp_BMP.h:48
_BITMAPFILEHEADER::bfOffBits
u32 bfOffBits
Definition:
bsp_BMP.h:50
_BITMAPINFOHEADER
位图信息头
Definition:
bsp_BMP.h:55
_BITMAPINFOHEADER::biYPelsPerMeter
u32 biYPelsPerMeter
Definition:
bsp_BMP.h:68
_BITMAPINFOHEADER::biSizeImage
u32 biSizeImage
Definition:
bsp_BMP.h:66
_BITMAPINFOHEADER::biClrUsed
u32 biClrUsed
Definition:
bsp_BMP.h:69
_BITMAPINFOHEADER::biWidth
u32 biWidth
Definition:
bsp_BMP.h:57
_BITMAPINFOHEADER::biPlanes
u16 biPlanes
Definition:
bsp_BMP.h:59
_BITMAPINFOHEADER::biClrImportant
u32 biClrImportant
Definition:
bsp_BMP.h:70
_BITMAPINFOHEADER::biXPelsPerMeter
u32 biXPelsPerMeter
Definition:
bsp_BMP.h:67
_BITMAPINFOHEADER::biSize
u32 biSize
Definition:
bsp_BMP.h:56
_BITMAPINFOHEADER::biBitCount
u16 biBitCount
Definition:
bsp_BMP.h:60
_BITMAPINFOHEADER::biHeight
u32 biHeight
Definition:
bsp_BMP.h:58
_BITMAPINFOHEADER::biCompression
u32 biCompression
Definition:
bsp_BMP.h:61
_BITMAPINFO
BMP文件头
Definition:
bsp_BMP.h:84
_BITMAPINFO::bmfHeader
_BITMAPFILEHEADER bmfHeader
Definition:
bsp_BMP.h:85
_BITMAPINFO::bmiHeader
_BITMAPINFOHEADER bmiHeader
Definition:
bsp_BMP.h:86
_RGBQUAD
调色板
Definition:
bsp_BMP.h:75
_RGBQUAD::rgbGreen
u8 rgbGreen
Definition:
bsp_BMP.h:77
_RGBQUAD::rgbReserved
u8 rgbReserved
Definition:
bsp_BMP.h:79
_RGBQUAD::rgbRed
u8 rgbRed
Definition:
bsp_BMP.h:78
_RGBQUAD::rgbBlue
u8 rgbBlue
Definition:
bsp_BMP.h:76
varint.h
全局共用的标准类型表
u8
uint8_t u8
8位无符号数类型
Definition:
varint.h:40
u16
uint16_t u16
16位无符号数类型
Definition:
varint.h:41
u32
uint32_t u32
32位无符号数类型
Definition:
varint.h:42
制作者
1.9.5