中易网

如何获取ImageView中的图像位置

答案:2  悬赏:30  
解决时间 2021-03-17 20:26
如何获取ImageView中的图像位置
最佳答案
我们知道在Android中ImageView是一个用于显示图像的控件,比如在很多联系人方面的应用中,需要为联系人拍摄头像,并将得到的头像放在一个 ImageView对象中显示。通常,在没有为联系人拍摄头像之前,ImageView对象中显示的是一个缺省的图片。因此,在保存联系人头像数据时,需要比较拍摄前和拍摄后两个图像是否一致,因为拍摄后是可能取消拍摄结果的,因此有可能造成拍摄动作发生前后ImageView中显示的是同一个图像。只有当不一样时,才将ImageView对象中的图像保存到数据库中,否则不用保存,这样一方面可以提高性能,另一方面可以节省空间。

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

从ImageView对象中获取图像的方法是什么呢?
从ImageView对象中获取图像的方法,就是ImageView类中的getDrawingCache()方法,比如下面的代码就是从一个ImageView对象iv_photo中获取图像:
Bitmap obmp = Bitmap.createBitmap(iv_photo.getDrawingCache());

但是需要说明的是:
在调用getDrawingCache()方法从ImageView对象获取图像之前,一定要调用setDrawingCacheEnabled(true)方法:
iv_photo.setDrawingCacheEnabled(true);
否则,无法从ImageView对象iv_photo中获取图像;
2. 在调用getDrawingCache()方法从ImageView对象获取图像之后,一定要调用setDrawingCacheEnabled(false)方法:
iv_photo.setDrawingCacheEnabled(false);
以清空画图缓冲区,否则,下一次从ImageView对象iv_photo中获取的图像,还是原来的图像。
全部回答
uiimageview *subview = [[uiimageview alloc] initwithframe: cgrectmake(10.0f, 10.0f, 50.0f, 30.0f)]; //设定图片名称,mypic.png已经存在,拖放添加图片文件到image项目文件夹中 [subview setimage:[uiimage imagenamed:@"mypic.png"]];
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
信用卡制卡能查额度吗
久留米寿司地址在哪,我要去那里办事
湖北麻城至陕西咸阳1200公里路程物流需多少钱
股骨头坏死是怎么来分期的,大概分几期?
王者荣耀怎么上王者?
丛合肥去南京市雨花区石华街18农花活动中心怎
深圳南岭村到宝安海雅大剧院怎么去方便,快
去世前念阿弥陀佛的作用
襄汾到乡宁的班车最后一班是几点
心理医生有吗?我现在好痛苦,心里很压抑.老
地址江苏省无锡市新区旺庄路188号宝龙城市广
下过雨后,我种的花苗的土地旁边长出了好多白
北京江森自控有限公司天津分公司我想知道这个
新房装修水路改造时为什么冷热水管要用金属软
为什么保时捷优惠小
推荐资讯
到底是“善者不多,多者不善”
魔幻陀螺国际对抗赛 长沙初赛在哪儿?
为什么用久了的毛巾有股蟑螂的味道
什么是圣文森特圣玛丽高中
我已经离职三年了,现在急需用钱,社保卡里的
孕妇到底是能否吃梨的呢?
coc速九本怎么打钱女用液体隐形避孕套
总提问发现很多回答别人问题爱骂脏话啥你妈啥
哪里买黄秋葵
网上下载的战地4不能多人游戏 那可以像使命9
泰州溱潼到东台五菱4s店多远
田汉民乐团地址有知道的么?有点事想过去
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?