获取多次缩放后的当前缩放比例和图片显示大小 现在遇到了一个问题困扰:将目标图片多次缩放后,累加的缩放比例和偏移坐标计算都会产生比较大的数据偏移,造成无法正确定位当前图片的缩放比例,和图片的显示大小。请知道如果处理的朋友不吝赐教,多谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ImageView通过SetImageMatrix进行图片缩放屡见不鲜。但是如何获得当前缩放图片的位置信息呢?用ImageState存储图片绘制信息:public class ImageState { private float left; private float top; private float right; private float bottom; } //然后获取ImageView的matrix,根据matrix的getValues获得3x3矩阵。Matrix matrix = mImageViewMap.getImageMatrix(); Rect rect = mImageViewMap.getDrawable().getBounds(); float[] values = new float[9]; matrix.getValues(values); ImageState mapState = new ImageState(); mapState.Left(values[2]); mapState.Top(values[5]); mapState.Right(mapState.Left() + rect.width() * values[0]); mapState.Bottom(mapState.Top() + rect.height() * values[0]); //这样,ImageState中存放的是mImageViewMap中的图片四个边的值。通过ImageState可以计算点击ImageView对应图片的像素点!本文出自 “移动开发” 博客,请务必保留此出处http://changyiyao.blog.51cto.com/2531539/581638【因例子无法编译通过,已在原文基础进行了调整】 【前面代码有误,修正如下】用ImageState存储图片绘制信息:public class ImageState { private float left; private float top; private float right; private float bottom; } //然后获取ImageView的matrix,根据matrix的getValues获得3x3矩阵。Matrix matrix = mImageViewMap.getImageMatrix(); Rect rect = mImageViewMap.getDrawable().getBounds(); float[] values = new float[9]; matrix.getValues(values); ImageState mapState = new ImageState(); mapState.Left = values[2]; mapState.Top = values[5]; mapState.Right = mapState.Left() + rect.width() * values[0]; mapState.Bottom = mapState.Top() + rect.height() * values[0]; //这样,ImageState中存放的是mImageViewMap中的图片四个边的值。通过ImageState可以计算点击ImageView对应图片的像素点! 通过ImageState怎么计算点击ImageView对应图片的像素点,求指教 通过ImageState怎么计算点击ImageView对应图片的像素点,求指教 android和pc通信。真机测试,使用gprs连接不上。急!!! android progressDialog 不动 统计软件安装次数 问问.mk文件中的赋值符号 := 与+= 怎样定制一个listview,每一行有imageview,还有textview这个怎么实现 Eclipse的DDMS监控USB连接的手机导致无法硬件弹出,怎么办? Unity+GPS [求助]零基础怎么学习安卓? android opengl添加滤镜效果 android studio android机顶盒问题:实现电视直播 采用什么协议传输节目流? android建立模拟器
private float left;
private float top;
private float right;
private float bottom;
} //然后获取ImageView的matrix,根据matrix的getValues获得3x3矩阵。Matrix matrix = mImageViewMap.getImageMatrix();
Rect rect = mImageViewMap.getDrawable().getBounds();
float[] values = new float[9];
matrix.getValues(values);
ImageState mapState = new ImageState();
mapState.Left(values[2]);
mapState.Top(values[5]);
mapState.Right(mapState.Left() + rect.width() * values[0]);
mapState.Bottom(mapState.Top() + rect.height() * values[0]);
//这样,ImageState中存放的是mImageViewMap中的图片四个边的值。通过ImageState可以计算点击ImageView对应图片的像素点!本文出自 “移动开发” 博客,请务必保留此出处http://changyiyao.blog.51cto.com/2531539/581638【因例子无法编译通过,已在原文基础进行了调整】
private float left;
private float top;
private float right;
private float bottom;
} //然后获取ImageView的matrix,根据matrix的getValues获得3x3矩阵。Matrix matrix = mImageViewMap.getImageMatrix();
Rect rect = mImageViewMap.getDrawable().getBounds();
float[] values = new float[9];
matrix.getValues(values);
ImageState mapState = new ImageState();
mapState.Left = values[2];
mapState.Top = values[5];
mapState.Right = mapState.Left() + rect.width() * values[0];
mapState.Bottom = mapState.Top() + rect.height() * values[0];
//这样,ImageState中存放的是mImageViewMap中的图片四个边的值。通过ImageState可以计算点击ImageView对应图片的像素点!