C语言把bmp文件转换为txt文件
时间: 2023-05-17 18:04:23 浏览: 301
您可以使用以下代码将 BMP 文件转换为文本文件:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *bmpFile = fopen("image.bmp", "rb");
FILE *txtFile = fopen("image.txt", "w");
if (bmpFile == NULL || txtFile == NULL)
{
printf("Error opening files!");
return 1;
}
unsigned char header[54];
fread(header, sizeof(unsigned char), 54, bmpFile);
int width = *(int*)&header[18];
int height = *(int*)&header[22];
int padding = 0;
while ((width * 3 + padding) % 4 != 0)
{
padding++;
}
unsigned char pixel[3];
for (int i = 0; i < height; i++)
{
for (int j = 0; j < width; j++)
{
fread(pixel, sizeof(unsigned char), 3, bmpFile);
fprintf(txtFile, "%d %d %d ", pixel[0], pixel[1], pixel[2]);
}
fseek(bmpFile, padding, SEEK_CUR);
fprintf(txtFile, "\n");
}
fclose(bmpFile);
fclose(txtFile);
return 0;
}
```
这个程序会将 BMP 文件中的像素值转换为文本文件中的 RGB 值。请注意,这个程序只能处理没有压缩的 BMP 文件。
阅读全文