⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bmp_info.h

📁 C实现模拟与或非门的逻辑电路
💻 H
字号:
/** 操作BMP图片
@author clayman
@note   modified by yaker
*/
#ifndef BMP_H
#define BMP_H

typedef unsigned long DWORD;
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef int BOOL;

/** 单个点的数据结构 */
typedef struct pixel_color_tag
{
		/** 蓝色分量 */
		BYTE B;
		/** 绿色分量 */
		BYTE G;
		/** 红色分量 */
		BYTE R;
		/** Alpha分量 */
		BYTE A;
} pixel_color;

/** 位图结构体 */
typedef struct bmp_info_tag
{
    /** 从内存中分配的原始内存指针   */
    BYTE*        raw_buf;
	/** 指向图像数据的起始位置的指针 */
	pixel_color* data;
	/** 图像的宽 */
	unsigned int width;
	/** 图像的高 */
	unsigned int height;
	/** 图像数据所占用的空间大小 */
	unsigned int byte_size;
} bmp_info;

/** 初始化bmp结构
@retval 1 失败
@retval 0 成功
*/ 
BOOL bmp_init(bmp_info *bmp);
/** 创建一个大小为width*height的位图
@retval 1 失败
@retval 0 成功
*/
BOOL bmp_create(bmp_info *bmp, unsigned int width, unsigned int height);
/** 读取bmp文件中的图像数据
@param[out] bmp bmp结构体指针
@param[in] file_name 要导入的bmp文件名
@retval 1 失败
@retval 0 成功
*/
BOOL bmp_load_from_file(bmp_info *bmp, char* file_name);
/** 将bmp中保存图像数据以24位bmp格式,保存文件中
@param[in] bmp bmp结构体指针
@param[in] file_name 要保存的bmp文件名
@retval 1 失败
@retval 0 成功
*/
BOOL bmp_save_to_file(bmp_info *bmp, char* file_name);
/** 获得单个像素的指针 */
pixel_color* bmp_get_buffer_at(bmp_info *bmp, int x, int y);
/** 释放bmp中保存图像数据所使用的内存 */
void bmp_destroy(bmp_info *bmp);

#endif // BMP_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -