当前位置:文档之家› BMP位图行补位和位图文件大小计算

BMP位图行补位和位图文件大小计算

BMP位图行补位和位图文件大小计算

黑白:文件头(14字节)+信息头(40字节)+2个调色板(共8字节)+Height(图像高度)*(Width+8-Width%8)/8

16色:文件头(14字节)+信息头(40字节)+16个调色板(共64字节)+Height(图像高度)*(Width+4-Width%4)/2

256色:文件头(14字节)+信息头(40字节)+256个调色板(共1024字

节)+Height(图像高度)*(Width+4-Width%4)

16位色:文件头(14字节)+信息头(40字节)+Height(图像高

度)*(Width+4-Width%4)*2 (由于每个像素由两个字节表示)

24位色:文件头(14字节)+信息头(40字节)+Height(图像高

度)*(Width+4-Width%4)*3 (由于每个像素由三个字节表示)

文件大小中的KB MB 怎么区分

文件大小中的KB、MB、GB怎么区分 1024个字节=1KB 1024个KB=1MB 1024个MB=1GB(减称G) 1024GB=1TB这个你知道了吗! 我可把所有的都写上去呵呵 一个字节表示硬盘的一个可以存储的小单元 位:"位(bit)"是电子计算机中最小的数据单位。每一位的状态只能是0或1。 字节:8个二进制位构成1个"字节(Byte)",它是存储空间的基本计量单位。1个字节可以储存1个英文字母或者半个汉字,换句话说,1个汉字占据2个字节的存储空间。 KB:在一般的计量单位中,通常K表示1000。例如:1公里=1000米,经常被写为1km;1公斤=1000克,写为1kg。同样K在二进制中也有类似的含义。只是这时K表示1024,也就是2的10次方。1KB表示1K个Byte,也就是1024个字节。MB:计量单位中的M(兆)是10的6次方,见到M自然想起要在该数值的后边续上六个0,即扩大一百万倍。在二进制中,MB也表示到了百万级的数量级,但1MB不正好等于1000000字节,而是1048576字节,即1MB=2E+20Bytes=1048576Bytes。 在标准10进制公制度量系统中,倍率关系如下所示 kilo(k)*=10^3=1,000thousand千 mega(M)=10^6=1,000,000million百万 giga(G)=10^9=1,000,000,000billion十亿 tera(T)=10^12=1,000,000,000,000trillion万亿 *在公制系统中,"k"或者"kilo"前缀只使用小写字母 在计算机/通讯行业中,计算数据传送速度也使用每秒传送公制数据量来计算 1bit(b)=0or1=onebinarydigit一个二进制位元 1kilobit(kb)=10^3bits=1,000bits一千位元 1Megabit(Mb)=10^6bits=1,000,000bits一百万位元 1Gigabit(Gb)=10^9bits=1,000,000,000bits一万亿位元 根据进制规定,传送速度可以有两种表示方法bps和Bps,但是他们是有严格区别。Bps中的B使用的是二进制系统中的Byte字节,bps中的b是十进制系统中的位元。 在我们常说的56K拨号,100M局域网都是bps计量,当用于软件下载时,下载工具一般又以Bps计算,所以它们之间有8bit=1Byte的换算关系,那么56Kbps拨号极限下载速度是56Kbps/8=7KBps每秒下载7K字节。 在数据存储,容量计算中,一般又结合公制的进制和二进制的数据计算方法来计算 (二进制) 1byte(B)=8bits(b)字节=8个二进制位 1Kilobyte(K/KB)=2^10bytes=1,024bytes千字节 1Megabyte(M/MB)=2^20bytes=1,048,576bytes兆字节 1Gigabyte(G/GB)=2^30bytes=1,073,741,824bytes千兆字节 1Terabyte(T/TB)=2^40bytes=1,099,511,627,776bytes吉字节

bmp文件格式详解

b m p文件格式详解 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

BMP文件格式,又称为Bitmap(位图)或是DIB(Device-IndependentDevice,设备无关位图),是Windows系统中广泛使用的图像文件格式。由于它可以不作任何变换地保存图像像素域的数据,因此成为我们取得RAW数据的重要来源。Windows的图形用户界面(graphicaluserinterfaces)也在它的内建图像子系统GDI中对BMP格式提供了支持。 下面以Notepad++为分析工具,结合Windows的位图数据结构对BMP文件格式进行一个深度的剖析。 BMP文件的数据按照从文件头开始的先后顺序分为四个部分: bmp文件头(bmpfileheader):提供文件的格式、大小等信息 位图信息头(bitmapinformation):提供图像数据的尺寸、位平面数、压缩方式、颜色索引等信息 调色板(colorpalette):可选,如使用索引来表示图像,调色板就是索引与其对应的颜色的映射表 位图数据(bitmapdata):就是图像数据啦^_^ 下面结合Windows结构体的定义,通过一个表来分析这四个部分。 我们一般见到的图像以24位图像为主,即R、G、B三种颜色各用8 个bit来表示,这样的图像我们称为真彩色,这种情况下是不需要调色 板的,也就是所位图信息头后面紧跟的就是位图数据了。因此,我们 常常见到有这样一种说法:位图文件从文件头开始偏移54个字节就是

位图数据了,这其实说的是24或32位图的情况。这也就解释了我们 按照这种程序写出来的程序为什么对某些位图文件没用了。 下面针对一幅特定的图像进行分析,来看看在位图文件中这四个数据 段的排布以及组成。 我们使用的图像显示如下: 这是一幅16位的位图文件,因此它是含有调色板的。 在拉出图像数据进行分析之前,我们首先进行几个约定: 1.在BMP文件中,如果一个数据需要用几个字节来表示的话,那么该数据的存放字节顺序为“低地址村存放低位数据,高地址存放高位数据”。如数据 0x1756在内存中的存储顺序为: 这种存储方式称为小端方式(littleendian),与之相反的是大端方式(bigendian)。对两者的使用情况有兴趣的可以深究一下,其中还是有学问的。 2.以下所有分析均以字节为序号单位进行。 下面我们对从文件中拉出来的数据进行剖析: 一、bmp文件头 Windows为bmp文件头定义了如下结构体: typedef struct tagBITMAPFILEHEADER {?

09位图文件大小计算(答案在后面)

需要掌握3个知识:1.图像和视频的容量公式 位=1字节(8b=1B)单位换算 3.千数量级跨度。1kB=1024B、1MB=1024KB、1GB=1024MB、1 TB=1024GB BMP图像容量计算公式:一共有多少像素点 * 每个点是几位 (分辨率) * 位深度 (单位:位) (分辨率) * 位深度 /8 (单位:字节) (分辨率) * 位深度 /8/1024 (单位:KB) (分辨率) * 位深度 /8/1024/1024 (单位:MB) ; 位深度:1.题目直接告诉你用多少位,比如16位色、24位色等 2.题目告诉你图像用多少种颜色,我们需要用:n位能表示2的n次个信息,算出n的值,n就是位深度。如告诉你16色,16=24,所以就是4位 AVI视频容量计算公式: 一共有多少像素点 * 每个点是多少位 * 一共有几张图片 (分辨率) * 位深度 * (帧频*时间) (单位:位) (分辨率) * 位深度 * (帧频*时间)/8 (单位:字节) (分辨率) * 位深度 * (帧频*时间)/8/1024 (单位:KB) (分辨率) * 位深度 * (帧频*时间)/8/1024/1024 (单位:MB) ) 一、给你位深度,计算图像大小 1.使用一个存储容量为1024MB的U盘,来存储未经压缩的1280×968像素、32位色BMP图像,可以存储这种图像大约为 A. 800张 B. 400张 C. 200张 D. 20张 2.将一幅未经压缩的1280×968像素、8位色BMP图片,转换成JPEG格式后,存储容量为,则压缩比约为 A. 28:1 B. 18:1 C. 8:1 D. 4:1 3.一幅未经压缩的1024×768像素、16位色BMP图像,其存储容量约为 A. 468KB B. C. D. 4.用“画图”程序将1024×768像素、16位色BMP图片,转换成JPEG格式后,存储容量为,则压缩比为 A. 136:1 B. 34:1 C. 17:1 D. 8:1 5.用“画图”程序将1024×768像素、24位色未经压缩图像“”文件分别另存为256色位图“”文件和单色位图“”文件,则3个文件存储容量之比约为 A. 24:8:1 B. 12:4:1 C. 24:256:1 D. 1:1:

C语言 BMP图片处理

C语言BMP图片处理 BMP是bitmap的缩写形式,bitmap顾名思义,就是位图也即Windows位图。它一般由4部分组成:文件头信息块、图像描述信息块、颜色表(在真彩色模式无颜色表)和图像数据区组成。在系统中以BMP为扩展名保存。 打开Windows的画图程序,在保存图像时,可以看到三个选项:2色位图(黑白)、16色位图、256色位图和24位位图。这是最普通的生成位图的工具,在这里讲解的BMP位图形式,主要就是指用画图生成的位图(当然,也可以用其它工具软件生成)。 现在讲解BMP的4个组成部分: 1.文件头信息块 0000-0001:文件标识,为字母ASCII码“BM”。 0002-0005:文件大小。 0006-0009:保留,每字节以“00”填写。 000A-000D:记录图像数据区的起始位置。各字节的信息依次含义为:文件头信息块大小,图像描述信息块的大小,图像颜色表的大小,保留(为01)。 2.图像描述信息块 000E-0011:图像描述信息块的大小,常为28H。 0012-0015:图像宽度。 0016-0019:图像高度。 001A-001B:图像的plane(平面?)总数(恒为1)。 001C-001D:记录像素的位数,很重要的数值,图像的颜色数由该值决定。001E-0021:数据压缩方式(数值位0:不压缩;1:8位压缩;2:4位压缩)。0022-0025:图像区数据的大小。 0026-0029:水平每米有多少像素,在设备无关位图(.DIB)中,每字节以00H 填写。 002A-002D:垂直每米有多少像素,在设备无关位图(.DIB)中,每字节以00H 填写。 002E-0031:此图像所用的颜色数,如值为0,表示所有颜色一样重要。 3.颜色表 颜色表的大小根据所使用的颜色模式而定:2色图像为8字节;16色图像位64字节;256色图像为1024字节。其中,每4字节表示一种颜色,并以B(蓝色)、G(绿色)、R(红色)、alpha(像素的透明度值,一般不需要)。即首先4字节表示颜色号0的颜色,接下来表示颜色号1的颜色,依此类推。 4.图像数据区

BMP格式结构详解

位图文件(B it m a p-File,BMP)格式是Windows采用的图像文件存储格式,在Windows环境下运行的所有图像处理软件都支持这种格式。Windows 3.0以前的BMP位图文件格式与显示设备有关,因此把它称为设备相关位图(d evice-d ependent b itmap,DDB)文件格式。Windows 3.0以后的BMP位图文件格式与显示设备无关,因此把这种BMP位图文件格式称为设备无关位图(d evice-i ndependent b itmap,DIB)格式,目的是为了让Windows能够在任何类型的显示设备上显示BMP位图文件。BMP位图文件默认的文件扩展名是BMP或者bmp。 6.1.2 文件结构 位图文件可看成由4个部分组成:位图文件头(bitmap-file header)、位图信息头(bitmap-information header)、彩色表(color table)和定义位图的字节阵列,它们的名称和符号如表6-01所示。 表6-01 BMP图像文件组成部分的名称和符号 位图文件的组成结构名称符号 位图文件头(bitmap-file header)BITMAPFILEHEADE R bmfh 位图信息头(bitmap-information header)BITMAPINFOHEADE R bmih 彩色表(color table)RGBQUAD aColors[] 图像数据阵列字节BYTE aBitmapBits[ ] 位图文件结构可综合在表6-02中。 表6-02 位图文件结构内容摘要 偏移量域的名称大小内容 图像文件头0000h标识符 (Identifie r) 2 bytes两字节的内容用来识别位图的类型: ‘BM’ : Windows 3.1x, 95, NT, linux ‘BA’ :OS/2 Bitmap Array ‘CI’ :OS/2 Color Icon ‘CP’ :OS/2 Color Pointer ‘IC’ : OS/2 Icon ‘PT’ :OS/2 Pointer 0002h File Size 1 dword用字节表示的整个文件的大小 0006h Reserved 1 dword保留,设置为0 000Ah Bitmap Data Offset 1 dword从文件开始到位图数据开始之间的数据(bitmap data)之间的偏移量 000Eh Bitmap Header Size 1 dword位图信息头(Bitmap Info Header)的长度,用来 描述位图的颜色、压缩方法等。下面的长度表示: 28h - Windows 3.1x, 95, NT, … 0Ch - OS/2 1.x F0h - OS/2 2.x 0012h Width 1 dword位图的宽度,以像素为单位 0016h Height 1 dword位图的高度,以像素为单位 001Ah Planes 1 word位图的位面数 图像001Ch Bits Per Pixel 1 word每个像素的位数 1 - Monochrome bitmap

24位BMP图像

#include #include void main() { FILE *fpIn,*fpOut; /////////////////////////// struct RGBQUAD { unsigned char rgbBlue; unsigned char rgbGreen; unsigned char rgbRed; unsigned char rgbReserved; } bicolor; char bfty[2]; short bfreserved1,biplanes,bibitcount; long bfsize,bfoffbit,bisize,biwidth,biheight; long bicompression,bisizeimage,bix,biy,biclrused,biclrimportant; char *cR; int iCol,iRow; int i,j; int iWidth; char *lpsData; int iL; short sTemp; //////////////////////////////////// fpIn=fopen("F:/课堂学习/遥感数字图像处理/data/AA","rb"); fpOut=fopen("F:/课堂学习/遥感数字图像处理/data/Tm23.bmp","wb"); //D:\??\??????????\Data\data iCol=600; iRow=600; bfty[0]='B'; bfty[1]='M'; bfsize=54+iCol*iRow*3; bfreserved1=0; bfoffbit=54; ///////////////// bisize=40; biwidth=iCol; biheight=iRow; biplanes=1; bibitcount=24; bicompression=0;

音视频文件码率与大小计算公式(更新版)

编码率/比特率直接与文件体积有关。且编码率与编码格式配合是否合适,直接关系到视频文件是否清晰。 在视频编码领域,比特率常翻译为编码率,单位是Kbps,ps是每秒的意思,例如 800Kbps 其中,1K=1024 1M=1024K b 为比特(bit)这个就是电脑文件大小的计量单位,1KB=8Kb,区分大小写,B代表 字节(Byte) s 为秒(second) p 为每(per) 以800kbps来编码表示经过编码后的数据每秒钟需要用800K比特来表示。 1MB=8Mb=1024KB=8192Kb Windows系统文件大小经常用B(字节)为单位表示,但网络运营商则用b(比特),也就是为什么2Mb速度宽带在电脑上显示速度最快只有约256KB的原因,网络运营商宣传网速的时候省略了计量单位。 完整的视频文件是由音频流与视频流2个部分组成的,音频和视频分别使用的是不同的编 码率,因此一个视频文件的最终技术大小的编码率是音频编码率+视频编码率。例如一个 音频编码率为128Kbps,视频编码率为800Kbps的文件,其总编码率为928Kbps,意 思是经过编码后的数据每秒钟需要用928K比特来表示。 了解了编码率的含义以后,根据视频播放时间长度,就不难了解和计算出最终文件的大小。编码率也高,视频播放时间越长,文件体积就越大。不是分辨率越大文件就越大,只是一 般情况下,为了保证清晰度,较高的分辨率需要较高的编码率配合,所以使人产生分辨率 越大的视频文件体积越大的感觉。 所以: 计算输出文件大小公式: 文件大小 =(音频码率÷8 + 视频码率÷8)×影片总长度(秒为单位) 即: 文件= 码率÷8×时间 码率=文件×8÷时间 比如: 码率1M、时长1小时的视频,文件大小=1÷8×3600=450M。 文件450M、时长1小时的视频,码率大小=450×8÷3600=1M 这样以后大家就能精确的控制输出文件大小了。 例:有一个1.5小时(5400秒)的影片,希望转换后文件大小刚好为700M 计算方法如下: 700×8÷5400×1024≈1061Kbps 意思是只要音频编码率加上视频编码率之和为1061Kb,则1个半小时的影片转换后文件 体积大小刚好为700M。 至于音频编码率和视频编码率具体如何设置,就看选择的编码格式和个人喜好了,只要2 者之和为1061即可。如可以设置为视频编码格式H264,视频编码率900 Kbps,音频 编码格式AAC,编码率161 Kbps。 与文件体积大小有关的码率是指的平均码率,因此,不论是使用固定比特一次编码方式还 是使用二次(多次)动态编码方式,都是可以保证文件大小的。只有使用基于质量编码的 方式的时候,文件大小才不可控制。 编码格式有很多种,在技术不断进步的情况下,针对不同的用途,产生了各种编码格式。 不同编码格式的压缩率不一样,且有各自的特点,有些在低码率情况下能保持较高的画面

BMP图像格式详解

BMP格式图像文件详析 首先请注意所有的数值在存储上都是按“高位放高位、低位放低位的原则”,如12345678h放在存储器中就是7856 3412)。下图是导出来的开机动画的第一张图加上文件头后的16进制数据,以此为例进行分析。T408中的图像有点怪,图像是在电脑上看是垂直翻转的。在分析中为了简化叙述,以一个字(两个字节为单位,如424D就是一个字)为序号单位进行,“h”表示是16进制数。 424D 4690 0000 0000 0000 4600 0000 2800 0000 8000 0000 9000 0000 0100*1000 0300 0000 0090 0000 A00F 0000 A00F 0000 0000 0000 0000 0000*00F8 0000 E007 0000 1F00 0000 0000 0000*02F1 84F1 04F1 84F1 84F1 06F2 84F1 06F2 04F2 86F2 06F2 86F2 86F2 ...... BMP文件可分为四个部分:位图文件头、位图信息头、彩色板、图像数据阵列,在上图中已用*分隔。 一、图像文件头 1)1:图像文件头。424Dh=’BM’,表示是Windows支持的BMP 格式。

2)2-3:整个文件大小。4690 0000,为00009046h=36934。 3)4-5:保留,必须设置为0。 4)6-7:从文件开始到位图数据之间的偏移量。4600 0000,为00000046h=70,上面的文件头就是35字=70字节。 5)8-9:位图图信息头长度。 6)10-11:位图宽度,以像素为单位。8000 0000,为00000080h=128。 7)12-13:位图高度,以像素为单位。9000 0000,为00000090h=144。 8)14:位图的位面数,该值总是1。0100,为0001h=1。 二、位图信息头 9)15:每个像素的位数。有1(单色),4(16色),8(256色),16(64K色,高彩色),24(16M色,真彩色),32(4096M色,增强

BMP头文件格式

bmp头文件格式 1:BMP文件组成 BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。2:BMP文件头(14字节) BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。 其结构定义如下: typedef struct tagBITMAPFILEHEADER { WORDbf Type; // 位图文件的类型,必须为BMP(0-1字节) DWORD bfSize; // 位图文件的大小,以字节为单位(2-5字节) WORD bfReserved1; // 位图文件保留字,必须为0(6-7字节) WORD bfReserved2; // 位图文件保留字,必须为0(8-9字节) DWORD bfOffBits; // 位图数据的起始位置,以相对于位图(10-13字节) // 文件头的偏移量表示,以字节为单位 } BITMAPFILEHEADER; 3:位图信息头(40字节) BMP位图信息头数据用于说明位图的尺寸等信息。 typedef struct tagBITMAPINFOHEADER{ DWORD biSize; // 本结构所占用字节数(14-17字节) LONG biWidth; // 位图的宽度,以像素为单位(18-21字节)

LONG biHeight; // 位图的高度,以像素为单位(22-25字节) WORD biPlanes; // 目标设备的级别,必须为1(26-27字节) WORD biBitCount;// 每个像素所需的位数,必须是1(双色),(28-29字节) // 4(16色),8(256色)或24(真彩色)之一 DWORD biCompression; // 位图压缩类型,必须是0(不压缩),(30-33字节) // 1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一 DWORD biSizeImage; // 位图的大小,以字节为单位(34-37字节) LONG biXPelsPerMeter; // 位图水平分辨率,每米像素数(38-41字节) LONG biYPelsPerMeter; // 位图垂直分辨率,每米像素数(42-45字节) DWORD biClrUsed;// 位图实际使用的颜色表中的颜色数(46-49字节) DWORD biClrImportant;// 位图显示过程中重要的颜色数(50-53字节) } BITMAPINFOHEADER; 4:颜色表 颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色。RGBQUAD结构的定义如下: typedef struct tagRGBQUAD {

10声音文件大小计算(答案在后面)

wav声音容量计算公式: 一共有多少采样点 * 每个点是多少位 * 一共有几个声道 (采样频率*总时间) * 量化位数 * 声道数 (单位:位) (采样频率*总时间) * 量化位数 * 声道数/8 (单位:字节) (采样频率*总时间) * 量化位数 * 声道数/8/1024 (单位:KB) (采样频率*总时间) * 量化位数 * 声道数/8/1024/1024 (单位:MB) 采样频率:就是在1秒钟内,在声波曲线上取多少个点。44.1KHz,就是1s内取44.1*1000个点。 量化位数:就是规定一个点,用几位编码。声音编码位数一般都是8位或者16位。 一、基本公式应用,计算声音大小 1.一段时长为5分钟、量化位数为16位,采样频率为44.1kHz、单声道的Wave格式音频,需要的磁盘存储容量大约为 A. 12.6MB B. 25.2MB C. 50.4MB D. 201.9MB 2.一同学有50个未经压缩的时长约为5分钟的Wav声音文件,其采样频率均为44.1KHZ,量化位数均为16位,立体声,如果用容量约为700MB的光盘进行存储,至少需要这样的光盘() A.2张B.3张C.4张D.5张 3.制作一段音频,在其他指标都相同的情况下,分别采用以下4种设置,其中音质最佳的是 A. 单声道,8位量化 B. 立体声,8位量化 C. 单声道,16位量化 D. 立体声,16位量化 二、看图获取有用信息,然后计算 4.查看一段时长为3秒、Wave格式音频文件的属性,其属性窗口如图所示: 该音频文件存储容量约为 A. 258KB B. 129KB C. 2.1MB D. 2.6MB 5.用录音机软件录制完一段时长半分钟的wave格式音频,执行保存操作时的界面如下图所示,则音频文件“sound.wav”保存后的容量约为() A. 1.3KB B. 0.3MB C.1.3MB D. 10.1MB

bmp位图调色板

调色板 调色板概述每个应用程序都有自己的调色板,使用调色板时要先向系统申请,调色板分为前台调色板和后台调色板,windows为优先级高的程序分配前台调色板. 我们经常会发现当启动一个大一点的程序时,桌面和其他应用程序的颜色变得粗糙起来,就是因为其他应用程序的调色板正在转为后台调色板. Windows系统内部保留了一个20种颜色的调色板,用来显示窗口,菜单等通用界面每个设备上下文都拥有一个逻辑调色板,如果要使用内部系统调色板(20种颜色)之外的颜色,则应该创建一个新的逻辑调色板并将其选入到设备上下文中.再把设备上下文中的逻辑调色板实现到系统调色板中,新的颜色才能实现.在逻辑调色板被实现到系统调色板时,Windows会建立一个调色板映射表,当设备上下文用逻辑调色板中的颜色绘图时,GDI绘图函数会查询调色板映射表以把像素值从逻辑调色板的索引转换成系统调色板的索引. 创建调色板BOOL CreatePalette(LPLOGPALETTE lpLogPalette ); 其中lpLogPalette是一个指向LOGPALETTE 结构的指针 typedef struct tagLOGPALETTE { WORD palVersion; //windows版本号,一般是0x300 WORD palNumEntries; //调色板中颜色表项的数目PALETTEENTRY palPalEntry[1]; //每个表项的颜色和使用方法 } LOGPALETTE; typedef struct tagPALETTEENTRY { BYTE peRed; //红(0-255) BYTE peGreen;// 绿 BYTE peBlue; //蓝 BYTE peFlags; //一般为0 } PALETTEENTRY; 上面只是建立了一个逻辑调色板,而逻辑调色板只是一张孤立的颜色表,并不能对系统产生影响,所以要使用调色板还需要下面这些函数CPalette* SelectPalette(CPalette* pPalette,BOOL bForceBackground ); 这个函数用来将一个调色板载入设备上下文,第一个参数是一个调色板指针,第二个参数用来指定调色板作为前景色还是背景色使用,为TURE时,作为背景色使用,为FALSE时,当窗口是活动窗口或活动窗口的子窗口是,调色板将做为前景色使用,否则做为背景色来使用.如果使用调色板的是一个内存设备上下文,则该参数被忽略. UINT RealizePalette( ); 该函数把设备上下文中的逻辑调色板实现到系统调色板中, 函数的返回值表明调色板映射表中有多少项被改变了这两个函数的使用如下: CPalette *pOldPalette ; CWindowDC dc(this) ; pOldPalette=dc.SelectPalette(&pal, FALSE) ;

BMP图像的读写(8位和24位)

南通大学计算机科学与技术学院 《数字图像处理》课程实验 报告书 实验名 BMP文件的读写(8位和24位) 班级计 121 姓名张进 学号 1213022016 2014年6月 16 日

一、实验内容 1、了解BMP文件的结构 2、8位位图和24位位图的读取 二、BMP图形文件简介 BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持BMP图象文件格式。Windows系统内部各图像绘制操作都是以BMP为基础的。Windows 3.0以前的BMP图文件格式与显示设备有关,因此把这种BMP 图象文件格式称为设备相关位图DDB(device-dependent bitmap)文件格式。Windows 3.0以后的BMP图象文件与显示设备无关,因此把这种BMP图象文件格式称为设备无关位图DIB(device-independent bitmap)格式(注:Windows 3.0以后,在系统中仍然存在DDB位图,象BitBlt()这种函数就是基于DDB位图的,只不过如果你想将图像以BMP格式保存到磁盘文件中时,微软极力推荐你以DIB格式保存),目的是为了让Windows能够在任何类型的显示设备上显示所存储的图象。BMP位图文件默认的文件扩展名是BMP或者bmp(有时它也会以.DIB或.RLE作扩展名)。 位图文件可看成由4个部分组成:位图文件头(bitmap-file header)、位图信息头(bitmap-information header)、彩色表(color table)和定义位图的字节阵列,它具有如下所示的形式。 位图文件结构内容摘要

五笔字根速记口诀和五笔字根键位图

五笔字根键位分布图: 首先需记住下面3点: 1:知道五笔是什么:一丨丿丶乙 (横竖撇捺折) 2:知道这五个笔划在键盘上的分布特点:认出字根的第一、二笔划就定出位置 3:字根的分布原则:(发明人就是按这个思路来安置那么多的字根的) a:每个字根的第一笔定区,第二笔定位(70%的字根符合这个原则,所以看第一笔就知道在哪个区的5个键之中,看第二笔就定位在这5个键中的哪个了!不信?可以将上面字根分布图中的所有字根按这个原则试一遍,把特殊的圈出来看看,不多吧,只有下面的25%+5%,再去掉有特

殊记忆方法的,仅需记忆的只有寥寥几个而已!) b:有特殊记忆方法的字根(25%的字根):如"口"因为发音为"K"所以在"K" c:只能强记的字根(仅5%):如"木丁西"在"S" 五笔字根口诀(98版): 11G 王旁青头五夫一, 12F 土干十寸未甘雨, 13D 大犬戊其古石厂, 14S 木丁西甫一四里, 15A 工戈草头右框七。 21H 目上卜止虎头具, 22J 日早两竖与虫依, 23K 口中两川三个竖, 24L 田甲方框四车里, 25M 山由贝骨下框集。 31T 禾竹反文双人立, 32R 白斤气丘叉手提, 33E 月用力豸毛衣臼, 34W 人八登头单人几, 35Q 金夕鸟儿犭边鱼。 41Y 言文方点谁人去, 42U 立辛六羊病门里,

43I 水族三点鳖头小, 44O 火业广鹿四点米, 45P 之字宝盖补礻衤。 51N 已类左框心尸羽, 52B 子耳了也乃框皮, 53V 女刀九艮山西倒, 54C 又巴牛厶马失蹄, 55X 幺母贯头弓和匕。 五笔字型字根助记词及一些相关的解释: (1)第一区 11G 王旁青头戋(兼)五一, (“兼”与“戋”同音) 12F 土士二干十寸雨。 13D 大犬三羊古石厂,(“羊”指羊字底) 14S 木丁西, 15A 工戈草头右框七。 (“草头”指“艹”,“右框”即“匚”) (2)第二区 21H 目具上止卜虎皮,(“具上”指具字的上部)22J 日早两竖与虫依。 23K 口与川,字根稀,

图像大小的计算

图像大小的计算 一直为图片大小计算所吸引,近日搜索资料得知,与大家分享。 数码照片文件大小和拍摄时设置的分辨率和品质有关,还和被拍摄景物的色彩,纹理复杂程度有关,同样的相机设置拍白墙和风景文件大小是不一样的。找个编辑图片的软件,如Photoshop就可以只改变图片占用空间的大小,不会改变长和高,但要牺牲质量。用ACDsee也可另存为,然后可改变质量,降低文件就变小,大小不变。 文件大小是指一个文件占用电脑的磁盘空间的大小。不光是图片文件,其它任何类型的文件都要占用空间,而图片文件的大小与文件格式(JPG、BMP、PSD、GIF、TIFF、PNG、CDA等等)、文件的实际像素、实际尺寸都有直接的关系,但就算两张图片的以上几点都完全一样,文件的大小还可能是不相等的,因为每一张图片所包含的色彩信息量是不同的,一面白墙的相片跟一个MM的照片,文件大小铁定是不同的。 首先,图片大小的存储基本单位是字节(byte),每个字节是由8个比特(bit)组成。 1、位(bit) 来自英文bit,音译为“比特”,表示二进制位。位是计算机内部数据储存的最小单位,是一个8位二进制数。一个二进制位只可以表示0和1两种状态(21);两个二进制位可以表示00、01、10、11四种(22)状态;三位二进制数可表示八种状态(23)…… 2、字节(byte) 字节来自英文Byte,音译为“拜特”,习惯上用大写的“B”表示。字节是计算机中数据处理的基本单位。计算机中以字节为单位存储和解释信息,规定一个字节由八个二进制位构成,即1个字节等于8个比特(1Byte=8bit)。八位二进制数最小为00000000,最大为;通常1个字节可以存入一个ASCII码,2个字节可以存放一个汉字国标码。 位在计算机中极少单独出现。它们几乎总是绑定在一起成为8位集合,称为字节。为什么一个字节中有8位呢一个类似的问题是:为什么一打鸡蛋有12个呢8位字节是人们在过去50年中不断对试验及错误进行总结而确定下来的。 1字节(Byte)= 8位(bit)。所以,一个字节在十进制中的范围是[0~255],即256个数。 图片大小跟颜色模式有直接关系: 1.灰度模式:图片每一个像素是由1个字节数值表示,也就是说每一像素是由8为01代码构成。比如:240*320=76800px;76800*1(byte)/1024=75k; 模式:即red blue green三原色简写。图片每一个像素是由3个字节数值表示,也就是说每一像素是由24为01代码构成。比如:240*320=76800px;76800*3(byte)/1024=225k; 模式:即青色(c)洋红(m)黄色(y)黑色(k)构成。图片每一个像素是由4个字节数值表示,也就是说每一像素是由8为01代码构成。.比如: 240*320=76800px;76800*4(byte)/1024=300k; 4. dpi是指单位面积内像素的多少,也就是扫描精度,目前国际上都是计算一平方英寸面积内像素的多少。dpi越小,扫描的清晰度越低,由于受网络传输速度

BMP文件格式

BMP文件格式 简介 BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持BMP图象文件格式。Wi ndows系统内部各图像绘制操作都是以BMP为基础的。Windows 3.0以前的BMP图文件格式与显示设备有关,因此把这种BMP图象文件格式称为设备相关位图DDB(device-dependent bitmap)文件格式。Windows 3.0以后的BMP图象文件与显示设备无关,因此把这种BM P图象文件格式称为设备无关位图DIB(device-independent bitmap)格式(注:Windows 3.0以后,在系统中仍然存在DDB位图,象BitBl t()这种函数就是基于DDB位图的,只不过如果你想将图像以BMP格式保存到磁盘文件中时,微软极力推荐你以DIB格式保存),目的是为了让Windows能够在任何类型的显示设备上显示所存储的图象。BMP位图文件默认的文件扩展名是BMP或者bmp(有时它也会以.DIB 或.RLE作扩展名)。 此图用WinHex软件打开后结果如下:(在介绍完bmp文件格式后会具体分析这些数字,最后也有matlab对此图的分析)注:此图是24位真彩色图。 文件结构 位图文件可看成由4个部分组成:位图文件头(bitmap-file header)、位图信息头(bitmap-information header)、彩色表(color table)和定义位图的字节阵列,它具有如下所示的形式。

位图文件结构可综合在表6-01中。表01 位图文件结构内容摘要

构件详解 1. 位图文件头 位图文件头包含有关于文件类型、文件大小、存放位置等信息,在Windows 3.0以上版本的位图文件中用BITMAPFILEHEADER结构来定义: typedef struct tagBITMAPFILEHEADER { /* bmfh */ UINT bfType; DWORD bfSize; UINT bfReserved1; UINT bfReserved2; DWORD bfOffBits; } BITMAPFILEHEADER; 其中: bfType 说明文件的类型.(该值必需是0x4D42,也就是字符'BM'。我们不需要判断OS/2的位图标识,这么做现在来看似乎已经没有什么意义了,而且如果要支持OS/2的位图,程序将变得很繁琐。所以,在此只建议你检察'BM'标识) bfSize 说明文件的大小,用字节为单位bfReserved1 保留,必须设置为0

3-专题讨论之文件容量计算

文件容量的计算 【图像容量计算】 未经压缩的BMP图像存储容量: 存储容量 = 水平像素数×垂直像素数×每像素的编码位数/8(单位:字节) 例题: 1. 一幅未经压缩1024×768像素的24位色BMP图像,其文件存储容量约为 (A)2.25KB (B)18KB (C)2.25MB (D)18MB 2. 图像文件“校园.bmp”的属性窗口如图所示: 该图像的存储容量约为 (A)10MB (B)4.5MB (C)18MB (D)2.25MB 3. 在保持纵横比的情况下,将一幅1024×768像素图像的宽度调整为50%,其他参数均不变,则图像存储容量约为原图像的 (A)1/4 (B)1/3 (C)1/2 (D)1/5 4. 下列4幅图均为220×120像素、24位色的BMP图像,其存储容量依次为a、b、c、d。 图1 图2 图3 图4 下列说法正确的是 (A)d最大 (B)a较小 (C)c比b小 (D)a、b、c、d一样大 5. 某未经压缩BMP图像文件的参数如下图所示:

则下列叙述正确的是 (A)图像的分辨率为每英寸800×600像素 (B)该图像文件包含24帧的图像序列 (C)图像的尺寸大小为71×71像素 (D)存储每个像素大约需要3个字节 6. 两幅尺寸相同未经压缩的BMP 图像,若存储容量分别为352KB 和119KB,则这两幅图像的颜色数可能为 (A)24位色和16位色 (B)24位色和8位色 (C)16位色和8位色 (D)16色和2色 7. 一幅未经压缩的600×400像素、256色BMP 图像的存储容量约为 【声音容量计算】 未经压缩的WAV 文件存储容量: 存储容量 = 采样频率(Hz)×量化位数×声道数×时间(s)/8(单位:字节) 例题: 1. 用GoldWave 软件录制一段时长20秒、单声道、Wave 格式的音频,若采样频率为22050Hz,量化位数为8位,则该音频的存储容量约为 2. 在GoldWave 软件中录制了一段10分钟的Wave 格式音频,状态信息如图所示: 该音频的存储容量约为 (A)6.72MB (B)50.5MB (C)100.9MB (D)168MB 3. 用GoldWave 软件编辑某作品片头音乐,界面如图所示: 从图中可以看出,该音频 (A)是MP3格式 (B)包含2个声道 (C)采样频率是22050Hz (D)时长299秒 4. 将某播放时长为20秒的音频文件进行如下操作: (A)234.4KB (B)234.4MB (C)1MB (D)1KB (A)861MB (B)861KB (C)430.7KB (D)430.7MB

bmp图像的读取

BMP图像文件由三部分组成:位图文件头数据结构,它包含BMP图像文件的类型、显示内容等信息;位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息。 位图文件主要分为如下3个部分: 1、文件信息头BITMAPFILEHEADER 结构体定义如下: typedef struct tagBITMAPFILEHEADER { WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; } BITMAPFILEHEADER; 其中: 2、位图信息头BITMAPINFOHEADER

结构体定义如下: typedef struct tagBITMAPINFOHEADER { DWORD biSize; LONG biWidth; LONG biHeight; WORD biPlanes; WORD biBitCount; DWORD biCompression; DWORD biSizeImage; LONG biXPelsPerMeter; LONG biYPelsPerMeter; DWORD biClrUsed; DWORD biClrImportant; } BITMAPINFOHEADER; 其中:

BMP头文件格式以及C语言读取头文件(二) 具体数据举例: 如某BMP文件开头: 424D 4690 0000 0000 0000 4600 0000 2800 0000 8000 0000 9000 0000 0100*1000 0300 0000 0090 0000 A00F 0000 A00F 0000 0000 0000 0000 0000*00F8 0000 E007 0000 1F00 0000 0000 0000*02F1 84F1 04F1 84F1 84F1 06F2 84F1 06F2 04F2 86F2 06F2 86F2 86F2 .... .... BMP文件可分为四个部分:位图文件头、位图信息头、彩色板、图像数据阵列,在上图中已用*分隔。 一、图像文件头 1)1:(这里的数字代表的是"字",即两个字节,下同)图像文件头。424Dh=’BM’,表示是Windows支持的BMP格式。 2)2-3:整个文件大小。4690 0000,为00009046h=36934。 3)4-5:保留,必须设置为0。 4)6-7:从文件开始到位图数据之间的偏移量。4600 0000,为00000046h=70,上面的文件头就是35字=70字节。 5)8-9:位图图信息头长度。 6)10-11:位图宽度,以像素为单位。8000 0000,为00000080h=128。 7)12-13:位图高度,以像素为单位。9000 0000,为00000090h=144。 8)14:位图的位面数,该值总是1。0100,为0001h=1。 二、位图信息头 9)15:每个像素的位数。有1(单色),4(16色),8(256色),16(64K 色,高彩色),24(16M色,真彩色),32(4096M色,增强型真彩色)。1000为0010h=16。 10)16-17:压缩说明:有0(不压缩),1(RLE 8,8位RLE压缩),2(RLE 4,4位RLE压缩,3(Bitfields,位域存放)。RLE简单地说是采用像素数+像素值的方式进行压缩。T408采用的是位域存放方式,用两个字节表示一个像素,位域分配为r5b6g5。图中0300 0000为00000003h=3。 11)18-19:用字节数表示的位图数据的大小,该数必须是4的倍数,数值上等于位图宽度×位图高度×每个像素位数。0090 0000为 00009000h=80×90×2h=36864。

相关主题
文本预览
相关文档 最新文档