很多时候,大家都有这样的需求,就是想更改一幅BMP图像中的某个点或者某个区域的颜色,或者说是将一个现有的数组(如0,1数组)转成BMP图像.
这种需求解决的方法有很多,最方便的是在MATLAB中使用imread()命令读取图像,直接就可以读到这个图像所对应的RGB值,而且支持多种图片格式转换.不过MATLAB不是免费的,而且安装也比较麻烦.所以我们采用一种简单的方式:自己编写程序进行转换.
网上介绍的读取BMP图像数据,写BMP图像数据的方法大多是介绍性的,例如定义好BMP文件头,颜色表的数据结构,读取数据... 但是,对于一个简单的应用(如对本文题目所说的将数组转成BMP图像)来说,为了解决这个问题,我要先去理解BMP的格式,要去通读一次他的数据结构手册,无疑是痛苦而又非常低效的事情!有时候我们所要的仅仅是解决问题,解决自己目前的需求而已.我们想要的只是简单,方便的方法,而不是原理和理解过程.
所以,这篇文章的目的是:用尽量短的篇幅描述如何快速地将BMP数据读取&&将数据转成BMP