1、如果按照用32位来表示一个像素点的RGB值的话,应该是4个字节640×480×4=1228800字节
1228800÷1024÷1024=1.171875兆(M)。
2、根据像素计算大小。原始图像大小可以如此估算:水平像素*垂直像素*1色黑白或3基色*一种颜色深度bit数/8/1024/1024=MB数比如1024*1024的24位彩色bmp=1024*1024*(3*8)/8/1024/1024=3MB。
扩展资料:
其实由于jpeg格式是有损压缩格式,因此同样大小的图片,就算参数完全相同的情况下,保存后的大小也是有很大差异的,因此只能估算最大值和最小值,无法在没有实际输入的情况下算出输出大小。
而在估算时,起到主要影响因素的包括以下几点(可能不全,但一般够用了):
用图片像素尺寸和色彩数,我们能算出图片在内存中的体积
Size=Width * Height * 每像素字节数
这里每像素字节数很好理解,不懂可以百度,这里给几个常用的,照片一般是第一个:
RGB(888) - 3字节,RGB(565) - 2字节,256色 - 1字节,16色-1/2字节,黑白-1/8字节
之后就是依据品质和图片大小推测压缩率范围
这个比较复杂,只能经验性估值,这里只介绍影像压缩率的几个变量:
图片越小压缩率越小,并逐渐趋向当前质量的最小压缩率,图片越大压缩率越大,并逐渐趋于当前质量的最大压缩率,图片非常小时有可能比1还小;
品质越低压缩率越高,0级时一般会在200:1到30:1间浮动,大多集中在60:1附近;8级时一般会在40:1到4:1间浮动,大多集中在16:1;11级时一般会在16:1到2:1间浮动,大多集中在7:1附近;
色彩分布越趋向于单色、连续颜色、重复色块时压缩比越高,极端时(比如纯白的图),就算图片很大,图片也只会有几百字节到几十K字节。
参考资料来源:百度百科——JPEG格式
1.
一个实际例子,选择一个24位深度的225×225位图,
由于24位位图是真彩色,没有颜色表这一样,所以
其文件大小为152.154字节,则
152.154=14+40+(225×3+1)×225
注:因为1个像素用三个字节来表示,所以乘以3;因为位图存储时,Windows规定一个扫描行所占的字节数必须是
4的倍数(即以long为单位),不足的以0填充,225×3+1刚好是4的倍数;14和40是位图文件头和位图信息头的字节大小;
2.
当利用绘图程序将文件保存为256色,即8位深度的位图后,文件大小变为52.378字节,即
52.378 = 14 + 50 + 256 × 4 + (225 + 3)× 225
注:256色位图有颜色表,每个颜色表结构体是4字节,所以颜色表这一项占256*4 个字节;
225+3 刚好凑成4的倍数
3.
从上面的两个例子可知,对于bmp位图,由于存储时无压缩,可以从像素总量(比如上面的255*255)以及位图存储格式中,算出一幅位图占用的字节数;
也即是说,如果几幅位图都是 1280*960,并且都是8位深度,那么占用的存储大小都是一样的~
(葫芦岛相机拍摄的图片,大小为:14+40+256*4+1280*960字节,约为1.17MB~)
对于从网上随便下载的一幅图片,可能是jpg、png、bmp等多种格式,光知道像素总数是1280*860,是无法计算出图片大小的~~因为压缩方式、编码等都不一样。