位图文件存储空间的计算

来源:互联网 发布:python 下划线转驼峰 编辑:程序博客网 时间:2024/06/05 20:50

位图图像:
位图,又叫光栅图,是由许多像小方块一样的“像素”组成的图像。其放大或缩小都会使原有图像产生失真。 16位位图代表1个像素有256种色彩变化,每个像素需要1个字节存储空间。
位图文件容量的计算:
800*600像素的黑白图像如何计算?
分析:一个像素可以存放黑或者白图像(2色或者1位色),所以每个像素就是一个比特,即1位。因此,可以算出这幅图像的容量为:800*600/8=60000(B)
如果换成256色的800*600的图像又该如何计算呢?
分析:256色也即在每个像素里有256种色彩的可能。也就是说存储一个像素要用8个比特即1个字节的存储空间。因此,可以算出这幅图像的容量为:800*600*8/8=480000(B)
如果一幅1024*768的16位色彩的图像又该如何计算它的容量?
16色实际上是2的4次方,即4位色彩。而256色是2的8次方,即8位色彩,即1024*768*16/8/1024=768*2KB。
例题:
一张1024×640分辨率的图片,假定每个像素用16位色彩表示,用位图文件(bitmap)格式存储,则这张图片文件需要占用多大的存储空间?
1024*640*16/8/1024=1280KB
补充1:我们通常说,一幅图片的分辨率是1280*960,这个其实并不准确。图像分辨率指图像中存储的信息量,是每英寸图像内有多少个像素点,即:像素每英寸,单位为PPI(Pixels Per Inch)。一般来说,很少用分辨率这个概念来衡量电子图片。但是,在生活中,图像分辨率是一个被混用到电子图片的概念,原本含义的目的是“密度”决定“打印质量”,后来被混用,或者说错误的用做衡量图像内的像素点数量。1920*1200是像素总量,不是密度,密度要除以英寸才是,存储在图像头部信息中,用于打印设置。
补充2:截取一幅图片时,假设截取的宽度为1280,高度为960,无论哪种格式(BMP或者JPG)电脑上显示的图片尺寸都为:1280*960,而图片的存储大小都不一样.~图片的像素总数是不变的,都为1280*960,只不过每个像素需要的字节数不一样(8位位图256色则1个像素需要1个字节),所以文件大小也不一样~即便是jpg等压缩格式,像素的个数并没有被压缩,只是针对不同的像素点,可能需要的字节数不一样



0 0
原创粉丝点击