使用FrameBuffer画图和显示BMP图像的总结

这次按学长给的任务, 先通过FrameBuffer用纯色画点,线,矩形,圆 等,  再实现读取BMP文件并将它显示在命令行下的屏幕上. 具体的思想和做法不说了, 把过程中因为没注意出错的地方分享一下.

 

1.FrameBuffer是通过mmap()函数映射到内存中的一块区域, 返回这块区域的首地址, 直到使用munmap()函数, 这块空间才释放, 所以可以放心大胆的在一个函数中专门处理打开FrameBuffer并映射这个过程.

 

2.虽然网上关于BMP文件格式的说明很多, 但是看得多了不免杂乱, 直到现在, 关于16位深图片的颜色掩码我还没彻底弄好, 实验中用的图片都是通过ACDsee转换的, 但是转换得到的555格式的图片也不都真的是555, 有一些是565的, 这个还有待资料支持.

 

3.通过这次实验, 对分层,分块设计的理解更加深了一些, "每个模块只依赖他的上层模块, 同一层中的各个模块是相互独立的" , 这个是思想. 分块以后函数的功能专一性更强了, 使得以后维护更加方便自如; 总之好处多多.

 

下一步希望在考试后完善, 现在只能在32位屏幕上显示, 也没有对不同的16位图片进行不同的掩码处理.

 

从元旦一直写到昨天下午, 终于"完全靠自己"弄完了一个事情, 心里还是挺高兴的, 不过托的时间有些长了.

 

确实做程序(或者做任何事情)应该把准备工作做好, 资料,信息的获得, 层次的分析与设计, 通用性的考虑...这些都是相当必要的, 磨刀不误砍柴工, 这话真有理.

 

2010年了, 我跟J说"2010年注定是不平凡的一年, 这一年应该出点成绩了", 我会好好努力.

 

更踏实, 更稳重, 更开阔.

你可能感兴趣的:(经验)