原创 关于位图格式的理解

2007-10-15 21:02 4382 5 5 分类: 电源/新能源

研究了下位图的格式,下面是从网上找到的一个说明文档(中文的,真好~~):


pdf


自己编了个生成位图文件的程序,只看这个文档还不能完全搞透位图,编程中就遇到了一些问题,现在总结一下,希望对大家有用:



1、位图中头的信息是按小字节序存储的,注意编译器如果是大字节序的需要字节顺序调整才可以。


2、位图中图象信息的第一个像素在图象中是左下角的像素,先最下一行从左往右,然后上面一行。


3、文档中有这样的说法:像素数据的长度(按字节计)要是4的倍数,这个4的倍数是怎么体现的呢?
    首先,这个规定并不是可遵守不可遵守的,一旦不遵守,图象水平方向上像素数是4的倍数还好,不然肯定会出错。
    这个4的倍数该怎么理解呢?我的像素怎么排?是不是每个像素占4个字节?
    经过实际用画图板制作各种尺寸的图象得到下面的结论:
    每个像素只占3个字节,水平方向上所有像素连续排列,
统计水平方向像素所占的字节数(像素数*3),如果得到的结果是4的倍数,就继续下一行数据,
    如果不是4的倍数,在最后一个像素数据后面补0,使这一行的总字节数等于4的倍数,然后开始下一行数据


    如:
    3*5的图象:
    水平方向有3个像素,像素占的字节数为9,不是4的倍数,在第三个像素数据后面补3个0,使这一行的总字节数为12,补完0,开始下一行数据。
    5*3的图象:
    水平方向有5个像素,像素占的字节数为15,不是4的倍数,在第五个像素后面补1个0,使此行的总字节数为16,继续下一行数据。


 


 


以下是写的程序(winTC编译)


rar

文章评论0条评论)

登录后参与讨论
我要评论
0
5
关闭 站长推荐上一条 /2 下一条