如何计算位图大小,详细点,包括8位和24位的

如题所述

BMP

BMP是一种与硬件设备无关的图像文件格式,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。

由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。

典型的BMP图像文件由三部分组成:位图文件头数据结构,它包含BMP图像文件的类型、显示内容等信息;位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息。

具体数据举例:

如某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。

12)20-21:用象素/米表示的水平分辨率。A00F 0000为0000 0FA0h=4000。

13)22-23:用象素/米表示的垂直分辨率。A00F 0000为0000 0FA0h=4000。

14)24-25:位图使用的颜色索引数。设为0的话,则说明使用所有调色板项。

15)26-27:对图象显示有重要影响的颜色索引的数目。如果是0,表示都重要。

三、彩色板

16)28-35:彩色板规范。对于调色板中的每个表项,用下述方法来描述RGB的值:

1字节用于蓝色分量

1字节用于绿色分量

1字节用于红色分量

1字节用于填充符(设置为0)

对于24-位真彩色图像就不使用彩色板,因为位图中的RGB值就代表了每个象素的颜色。

如,彩色板为00F8 0000 E007 0000 1F00 0000 0000 0000,其中:

00FB 0000为FB00h=1111100000000000(二进制),是红色分量的掩码。

E007 0000为 07E0h=0000011111100000(二进制),是绿色分量的掩码。

1F00 0000为001Fh=0000000000011111(二进制),是红色分量的掩码。

0000 0000总设置为0。

将掩码跟像素值进行“与”运算再进行移位操作就可以得到各色分量值。看看掩码,就可以明白事实上在每个像素值的两个字节16位中,按从高到低取5、6、5位分别就是r、g、b分量值。取出分量值后把r、g、b值分别乘以8、4、8就可以补齐第个分量为一个字节,再把这三个字节按rgb组合,放入存储器(同样要反序),就可以转换为24位标准BMP格式了。

四、图像数据阵列

17)17-...:每两个字节表示一个像素。阵列中的第一个字节表示位图左下角的象素,而最后一个字节表示位图右上角的象素。

五、存储算法

BMP文件通常是不压缩的,所以它们通常比同一幅图像的压缩图像文件格式要大很多。例如,一个800×600的24位几乎占据1.4MB空间。因此它们通常不适合在因特网或者其它低速或者有容量限制的媒介上进行传输。 根据颜色深度的不同,图像上的一个像素可以用一个或者多个字节表示,它由n/8所确定(n是位深度,1字节包含8个数据位)。图片浏览器等基于字节的ASCII值计算像素的颜色,然后从调色板中读出相应的值。更为详细的信息请参阅下面关于位图文件的部分。 n位2n种颜色的位图近似字节数可以用下面的公式计算: BMP文件大小约等于 54+4*2的n次方+(w*h*n)/8

,其中高度和宽度都是像素数。 需要注意的是上面公式中的54是位图文件的文件头,是彩色调色板的大小。另外需要注意的是这是一个近似值,对于n位的位图图像来说,尽管可能有最多2n中颜色,一个特定的图像可能并不会使用这些所有的颜色。由于彩色调色板仅仅定义了图像所用的颜色,所以实际的彩色调色板将小于。 如果想知道这些值是如何得到的,请参考下面文件格式的部分。 由于存储算法本身决定的因素,根据几个图像参数的不同计算出的大小与实际的文件大小将会有一些细小的差别。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-04-20
如果图片大小事800*600的位图,8位,则这个位图所占空间为:200*600*8/(8*1024*1024)=0.457M
图片大小事800*600的位图,24位,则这个位图所占空间为 200*600*24/(8*1024*1024)=1.37M

如何计算位图大小,详细点,包括8位和24位的
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简单地...

电脑里面一张图片的大小是如何计算的?
图片大小=分辨率*位深\/8分辨率=宽*高(如:1024*768,640*480)位深:如24位,16位,8位\/8计算的是字节数。例如:一幅图像分辨率:1024*768,24位,则其大小计算如下:大小=1024*768824\/8=2359296byte=2304KB

高一信息技术课歌曲大小和图片大小怎么计算?什么频率*量化位数还有什么...
【1】16色 4bit、256色 8bit、24位色 24bit、32位色 32bit、bmp格式、位图文件头BITMAPFILEHEADER、位图信息头BITMAPINFOHEADER、调色板Palette、实际的位图数据ImageDate、X * Y *(bit数)\/ 8 = 字节(近似值) **实际的位图数据ImageDate、800x600 24bit bmp 大小约等于800x600x24 \/8 =1440000...

信息技术这题怎么做
位图大小计算公式:文件字节=长像素值*宽像素值*色深(颜色位数)\/8 色深为:8位(256色)、16位(65536色)、24位(约1670万色)除以8是把bit换成Byte。1024*768*8\/8=786,432 1GB=1024MB 1MB=1024KB 1KB=1024字节 换算成MB就可以了

photoshop中8位图、24位图是什么意思
所指的位可以简单理解为2的几次方种色彩,比如8位图就是2的8次方也就是256种颜色,同理,24位即16777216种色彩,当然,色彩越多就会越接近真实水平。常见图片格式中,GIF最多只能有8位256种色彩,而其它格式则可以达到32位或者24位色。

关于计算机中位图的知识
24位为3字节(1字节=8bit即8位)一个像素点3字节,1024*1024的图片需要1024*1024*3=3145728字节 1M=1024*1024字节 所以需要3M

点阵字体一个点阵是多少位的?
一个点阵即一位(bit),24*24点阵就24*24位(bit)。而一个字节等于8位(bit),那么24*24点阵就是72字节,即24*24\/8=72.那么1024个24*24点阵就需要1024*72=73728个字节。上图是一个16*16的点阵,由图可知点阵是个平面。因此16*16就有256个点,同理24*24的点阵就有576个点。所以我们在...

如何计算图片大小
根据像素计算大小。原始图像大小可以如此估算:水平像素*垂直像素*1色黑白或3基色*一种颜色深度bit数\/8\/1024\/1024=MB数比如1024*1024的24位彩色bmp=1024*1024*(3*8)\/8\/1024\/1024=3MB。

如何用已知像素、色位计算得出图片大小?
24位色 24bit 32位色 32bit bmp格式 位图文件头BITMAPFILEHEADER 位图信息头BITMAPINFOHEADER 调色板Palette 实际的位图数据ImageDate X * Y *(bit数)\/ 8 = 字节(近似值) **实际的位图数据ImageDate 800x600 24bit bmp 大小约等于 800x600x24 \/8 =1440000字节 约等于 1.37M(不包括 文件头 ...

图片的大小如何计算?
256×256个像素正好是256×256×1个字节,最后一个加数代表调色板大小,因为要用到256种颜色,一个调色板元素大小为4个字节,256个就是1024个字节。再举一个24位真彩的图片说明:宽度4000像素,高度3000像素,位深度24。代表这是24位真彩图片。大小计算:14+40+4000×3000×3=36,000,054字节。

相似回答