Determine bits per pixel in a bitmap

2019-09-03 11:47发布

What's the easiest way to tell the number of bits per pixel in a bitmap, e.g. a Windows .bmp file?

2条回答
手持菜刀,她持情操
2楼-- · 2019-09-03 12:21

Look at the header of the file.

查看更多
Luminary・发光体
3楼-- · 2019-09-03 12:44
//************************************** 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); 
查看更多
登录 后发表回答