目录
前言
前面已经写过一篇 linux下位图结构解析(一),但是对于位图结构体还是写的不够完美。这篇博客主要提供一个更好的位图源文件定义。看起来会清爽很多!
代码
- bmp.h
#ifndef BMP_H
#define BMP_H
typedef unsigned char u8;
typedef unsigned short u16;
typedef unsigned int u32;
#pragma pack(1)
// Define BMP file header
typedef struct tagBITMAPFILEHEADER
{
u16 bfType;
u32 bfSize;
u32 bfReserved;
u32 bfOffBits;
}BITMAPFILEHEADER_t;
// Define BMP info header
typedef struct tagBITMAPINFOHEADER
{
u32 biSize; // must be 0x28
u32 biWidth;
u32 biHeight;
u16 biPlanes; // must be 1
u16 biBitCount;
u32 biCompression;
u32 biSizeImage;
u32 biXPelsPerMeter;
u32 biYPelsPerMeter;
u32 biClrUsed;
u32 biClrImportant;
}BITMAPINFOHEADER_t;
typedef struct tagRGBQUAD
{
u8 rgbBlue;
u8 rgbGreen;
u8 rgbRed;
u8

本文是《linux下位图结构解析》系列的第二篇,针对位图结构体进行了更深入的探讨,提供了一份清晰易读的位图源文件定义,适用于FFmpeg中的帧数据处理。作者分享了自己对代码整洁性的追求。
最低0.47元/天 解锁文章
1960

被折叠的 条评论
为什么被折叠?



