Android开发:用getDrawingCache方法获取ImageView中的图像需要注意的问题(一)

2014-11-24 11:36:41 来源: 作者: 浏览: 7

根据上面的思路,我们可以在开始拍摄前获取ImageView对象中的图像,在保存数据的时候,再次从该ImageView对象中获取图像,然后比较先后所得到的像个图像是否一致,并进行进一步的处理。


从ImageView对象中获取图像的方法是什么呢?


从ImageView对象中获取图像的方法,就是ImageView类中的getDrawingCache()方法,比如下面的代码就是从一个ImageView对象iv_photo中获取图像:


Bitmap obmp = Bitmap.createBitmap(iv_photo.getDrawingCache());


但是需要说明的是:


1. 在调用getDrawingCache()方法从ImageView对象获取图像之前,一定要调用setDrawingCacheEnabled(true)方法:


iv_photo.setDrawingCacheEnabled(true);


否则,无法从ImageView对象iv_photo中获取图像;


2. 在调用getDrawingCache()方法从ImageView对象获取图像之后,一定要调用setDrawingCacheEnabled(false)方法:


iv_photo.setDrawingCacheEnabled(false);


以清空画图缓冲区,否则,下一次从ImageView对象iv_photo中获取的图像,还是原来的图像。



下面,我们就用实际的例子来给予说明。



1. 首先创建一个Android Project,并制定生成一个Activity,取名为Compare2Images


2. 将图片androidlogo.png和xiaocheng.png拖入res/drawable-mdpi文件夹中,它们分别是:




3. 修改main.xml,使之如下


< xml version="1.0"encoding="utf-8" >


"http://schemas.android.com/apk/res/android"


android:orientation="vertical"


android:layout_width="fill_parent"


android:layout_height="fill_parent"


>



"@+id/iv_photo"


android:layout_width="96dip"


android:layout_height="96dip"


android:src="@drawable/androidlogo"


/>



-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: