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

📄 bmp_readheader.c

📁 Bitmap文件格式的解释源码
💻 C
字号:
#include "stdio.h"
#include "stdlib.h"

#include "BMP_File_Header.h"

BITMAPFILEHEADER sBMP_FileHeader;		//BMP文件头
BITMAPINFO sBMP_Info;					//BMP信息头数据,包括调色板的数组(最大256个RGBQUAD数据)

//==================================================================//
//
//
//
//==================================================================//
unsigned int BMP_Read_Header(unsigned int *File_Add)
{
	int iTemp = 0,i=0,j=0,m=0;
	sBMP_FileHeader = *(BITMAPFILEHEADER *)File_Add;
	if(sBMP_FileHeader.bfTYPE!=0x4D42)
		return 0;
	else
	{
		File_Add = File_Add+sizeof(BITMAPFILEHEADER);
		sBMP_Info.bmiHeader = *(BITMAPINFOHEADER *)File_Add;	//获取文件类型,即从文件头
		File_Add = File_Add+sizeof(BITMAPINFOHEADER);																	//长度去判断0x28为BMP
		switch(sBMP_Info.bmiHeader.biBITCount)
		{
			case 1: j = 1; break;
			case 4: j = 16; break;
			case 8: j = 256; break;
			default: return 0; break;
		}
		i = sizeof(RGBQUAD);
		iTemp = j*i;
		
		sBMP_Info.P_bmiColors = (RGBQUAD *)malloc(iTemp);
		for(m=0;m<j;m++)
		{
			*(sBMP_Info.P_bmiColors++) = *(((RGBQUAD *)File_Add)++);
		}
		return 1;
	}
}

⌨️ 快捷键说明

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