(ARTICLE) Image Handling in C
Here's an example program that displays the data for a 24-bit bitmap.
(It will not work for bitmaps with a color palette.)
Code: c
#include <stdio.h>
#include <windows.h>
int main()
{
BITMAPFILEHEADER bmfh;
BITMAPINFOHEADER bmih;
RGBTRIPLE rgbt;
FILE *f;
int i;
f = fopen ("test.bmp", "rb");
printf ("File Header\n");
fread (&bmfh, sizeof(bmfh), 1, f);
printf (" Size : %u\n", bmfh.bfSize);
printf (" OffBits : %u\n", bmfh.bfOffBits);
printf ("Info Header\n");
fread (&bmih, sizeof(bmih), 1, f);
printf (" Size : %u\n", bmih.biSize);
printf (" Width : %u\n", bmih.biWidth);
printf (" Height : %u\n", bmih.biHeight);
printf (" Planes : %u\n", bmih.biPlanes);
printf (" BitCount : %u\n", bmih.biBitCount);
printf (" SizeImage: %u\n", bmih.biSizeImage);
printf (" ClrUsed : %u\n", bmih.biClrUsed);
printf ("RGB Triples\n");
for (i = 0; i < bmih.biWidth * bmih.biHeight; ++i) {
fread (&rgbt, sizeof(rgbt), 1, f);
printf ("%02x %02x %02x\n",
rgbt.rgbtRed, rgbt.rgbtGreen, rgbt.rgbtBlue);
}
fclose (f);
return 0;
}
COURTESY: www.go4expert.com

