日期:2014年10月10日—2014年10月17日
1.本周已完成任务:对一张图片进行个别像素的读取和修改
2.本周未完成任务:识别触摸的位置
3.下周计划:最近比较忙,请允许我用这么简单的东西混过去,那么下周的东西也会比较简单,结合触摸位置做一个画图板,毕竟按昨天的思路来说这个是最后的,现在提前做点简单的应该没问题吧,然后这个就不发表到博客上了,等下周的一起发。
4.关键技术点说明:
提出要操作每个像素,即读和写,如果使用Mat进行一个是不熟悉,另一个是不直观。
既然是要进行像素操作那安卓里面应该有专用的类才对,于是靠着这种感觉我找到了Bitmap这个类,安卓中打开图像就是保存到这里面,既然这是一个保存图像的容器,那么想必有对应的操作,然后我找到了setPixel和getPixel这两个函数,根据字面意思一个是设置像素点,一个是读取像素点,于是我对一张打开的图片(上次做的那个),进行了实验,验证了上面的想法。
对应代码
int i,j;
for (i = 10; i < 100; i++)
for (j = 10; j < 100; j++)
grayBitmap.setPixel(i, j, 0xFFFFFF);//修改像素
int temp = grayBitmap.getPixel(10, 10);//读取像素
Log.i("Pixel", String.valueOf(temp)) ;
grayBitmap为打开的文件寄存的容器。
需要注意的是读取和写入的数据是ARGB格式,以及读取出来的为有符号整形
颜色格式可以参考:http://www.114la.com/other/rgb.htm
对应效果,可以看到Pixel读取到修改后的0xFFFFFF,以及在图片上被涂白的区域。