BMP文件格式
? BMP(Bitmap-File)图像文件,又叫位图文件,是Windows采用的图形文件格式,在Windows环境下运行的所有图像处理软件都支持BMP图像文件格式。Windows系统内部个图像绘制操作以BMP为基础的。一个BMP文件由四个部分组成。
? 一个BMP文件,可以用代码表示,如下: typedef struct tagBITMAP_FILE { BITMAPFILEHEADER bitmapheader; BITMAPINFOHEADER bitmapinfoheader; PALETTEENTRY palette[256]; UCHAR *buffer; //UCHAR大小1字节(通BYTE) }BITMAP_FILE; BMP文件头:BITMAPFILEHEADER typedef struct tagBITMAPFILEHEADER{ WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffbits; }
? 位图信息段:BITMAPINFOHEADER typedef struct tagBITMAPINFOHEADER { DWORD bitSize; LONG bitWidth; LONG biHeight; WORD biPlanes; WORD bitBitCount; DWORD bitCompression; DWORD bitSizeImage; LONG bitXPelsPerMeter; LONG bitYPelsPerMeter; DWORD biClrUsed; DWORD biClrImporant; }BITMAPINFOHEADER;
调色板
如果16色图在途中最多有16种颜色。可以采用一个表,表中每一行记录一种颜色的R、G、B值。这样当我们表示一个色素的颜色时,只需要指出该颜色在第几行,即该颜色的索引值即可。比如如果表第0行表示255,0,0(红色),那么当某个色素为红色时,只需要标注0即可。 16种颜色用4bit表示,所以一个像素只需要用到半个字节。整个图像只用200*200*0.5+3*16个字节。 ? 这张R、G、B表就是调色板,另一种叫法是颜色查找表。 typedef struct tagPALETTENTRY { BYTE peRed; BYTE peFreen; BYTE peBlue; BYTE peFlags; }PALETTEENTRY; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在没有Microsoft扩展的情况下构建Visual C
- windows-7 – 在Windows 7中是否有完全支持Torto
- 数据绑定 – WinJS ListView和模板绑定
- vbscript – Microsoft Edge和Windows 10是否支持
- microsoft-office-365 – SCCM 2012 R2检测方法不
- 如何获取当前正在运行的实际窗口的标题?
- windows – Regedit:从命令提示符查找和导出密钥
- 在Full Framework 4.7项目上添加对.NET Core 2.0
- windows server 2012 r2 搭建企业文件共享存储
- DLL – 有没有办法将版本信息存储在Rust编译的可