确定每个像素的位数中的位图 [英] Determine bits per pixel in a bitmap

查看:182
本文介绍了确定每个像素的位数中的位图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

什么告诉在一个位图每象素的比特数的最简单的方法,例如在Windows .bmp文件?


解决方案

  // ********************** ****************程序:要得到每一个位图的像素的比特数。作者:Tanmay罗伊。 -  M.Tech(嵌入式Sys系统和功放; VLSI)(加尔各答,印度)日期:20 2011年5月编译器:Visual Studio的6备注:它以非常简单的方式完成的,它工作正常。这可以在Turbo C的也可以做。但很少改变neesed。E-MAIL:tanmay.roy8@gmail.com// ***********FILE * FP; INT bitPerPixel
BITMAPFILEHEADER BFH;
BITMAPINFOHEADER波黑;FP = FOPEN(C:\\\\ MYPIC.BMP,RB); //图片的位每像素来获得。如果(FP == NULL)
{
AfxMessageBox的(错误:打开文件错误);返回(-1);
}FREAD(安培; BFH,sizeof的(BITMAPFILEHEADER),1,FP); //读取位图文件头
FREAD(安培;波黑的sizeof(BITMAPINFOHEADER),1,FP); //读取位图信息头/ * BITMAPFILEHEADER,BITMAPINFOHEADER是VC inbulit数据类型++,MFC * /bitPerPixel = bih.biBitCount;
FCLOSE(FP);

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

解决方案

//************************************** 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); 

这篇关于确定每个像素的位数中的位图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆