【发布时间】:2010-06-29 17:07:55
【问题描述】:
判断位图中每个像素的位数的最简单方法是什么,例如Windows .bmp 文件?
【问题讨论】:
判断位图中每个像素的位数的最简单方法是什么,例如Windows .bmp 文件?
【问题讨论】:
查看文件的header。
【讨论】:
//************************************** PROGRAM : To get the Number of bits per pixel of a bitmap.
AUTHOR : Tanmay Roy. - M.Tech(Embedded Sys & VLSI) (Kolkata,INDIA)
DATE : 20-May-2011
COMPILER: Visual Studio 6
REMARKS : It's done at very simple way, It works fine. This can be done at Turbo C also. but few modification neesed.
E-MAIL : tanmay.roy8@gmail.com
//**************************************
FILE *fp; int bitPerPixel
BITMAPFILEHEADER bfh;
BITMAPINFOHEADER bih;
fp = fopen("C:\\MYPIC.BMP","rb"); // The picture whose 'bit per pixel' to get.
if(fp == NULL)
{
AfxMessageBox("ERROR: file open err"); return(-1);
}
fread(&bfh,sizeof(BITMAPFILEHEADER),1,fp); // Read Bitmap File Header
fread(&bih,sizeof(BITMAPINFOHEADER),1,fp); // Read Bitmap Info Header
/* BITMAPFILEHEADER,BITMAPINFOHEADER are inbulit data type in VC++,MFC */
bitPerPixel = bih.biBitCount;
fclose(fp);
【讨论】: