解析256色位图需要注意的一些问题

  按照位图格式,256色以下(含)的位图都有调色板,也就是说除了54个字节的文件头和信息头,还有一定大小的调色板数据在里面。以256色位图为例,我们可以计算一下它的调色板有多少字节。上篇文章讲过,一个颜色的调色板数据占用4个字节,而256中颜色,一共是1024字节,所以调色板数据一共占有1024字节,加上54字节的信息,则除了真正的图象数据外,还附加有1078字节的非图象数据。这样,我们可以计算出一张200*150的图片文件大小。因为图象数据每个像素点是用一个字节表示的,所以数据占有30000字节,加上1078字节,一共是31078字节。这个是显然的。当然,这幅位图无论是一张白纸或者是复杂的图象,图片大小是不会有变化的,因为30000字节的数据是逐个像素表示的,无论像素是什么颜色,都不可以省略。
  那么我们在计算一个343*260 256色的位图文件大小,343*260=89180,再加上1078等于90258,但是通过属性查看,文件大小为90518字节,和计算有较大的差距,这说明计算方法有问题。
  其实,200*150的图象只是一个特例。位图规定,如果图象数据一行的数据,不是4的整数倍,则必须用数据补齐。200自然是4的整数倍,不需要补齐,而343不是,所以343必须补充到344才可以。所以实际位图的大小是344*260+1078,这就和大小吻合了。这个图片每行补1个字节,而最多是要补3个字节。所以341*260图片和343*260图片,在大小上没什么区别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值