解析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图片,在大小上没什么区别。

发布了36 篇原创文章 · 获赞 33 · 访问量 30万+

猜你喜欢

转载自blog.csdn.net/turui/article/details/4712875
今日推荐