我正在尝试创建一个反转位图文件颜色的应用程序,但在实际收集数据和从位图中遇到一些问题。我正在使用结构来保留位图的数据及其标题。现在我有:
struct
{
uint16_t type;
uint32_t size;
uint32_t offset;
uint32_t header_size;
int32_t width;
int32_t height;
uint16_t planes;
uint16_t bits;
uint32_t compression;
uint32_t imagesize;
int32_t xresolution;
int32_t yresolution;
uint32_t ncolours;
uint32_t importantcolours;
} header_bmp
struct {
header_bmp header;
int data_size;
int width;
int height;
int bytes_per_pixel;
char *data;
} image_bmp;
现在为了实际读取和写入位图,我有以下内容:
image_bmp* startImage(FILE* fp)
{
header_bmp* bmp_h = (struct header_bmp*)malloc(sizeof(struct header_bmp));
ReadHeader(fp, bmp_h, 54);
}
void ReadHeader(FILE* fp, char* header, int dataSize)
{
fread(header, dataSize, 1, fp);
}
从这里如何将标题信息提取到我的标题结构中?
另外,如果有人在阅读和编写位图方面有任何好的资源,请告诉我。我已经搜索了几个小时,但找不到关于该主题的太多有用信息。