android Matrix and ImageView
程序员文章站
2022-07-14 16:07:40
...
imageView.getImageMatrix() float[] values = new float[9]; matrix.getValues(values); float mtrans_x = values[Matrix.MTRANS_X];//左上顶点X坐标 float mtrans_y = values[Matrix.MTRANS_Y];//左上顶点Y坐标 float mscale_x = values[Matrix.MSCALE_X] ;//宽度缩放倍数 float mscale_y = values[Matrix.MSCALE_Y] ;//高度缩放位数 Drawable drawable = relativeImageView.getDrawable(); Rect imageBounds = drawable.getBounds(); //original height and width of the bitmap int intrinsicHeight = drawable.getIntrinsicHeight(); int intrinsicWidth = drawable.getIntrinsicWidth(); Log.i("@@@", "intrins:" + intrinsicHeight + " " + intrinsicWidth); //height and width of the visible (scaled) image int scaledHeight = imageBounds.height(); int scaledWidth = imageBounds.width(); Log.i("@@@", "bounds:" + scaledHeight + " " + scaledWidth); //Find the ratio of the original image to the scaled image //Should normally be equal unless a disproportionate scaling //(e.g. fitXY) is used. float heightRatio = intrinsicHeight / scaledHeight; float widthRatio = intrinsicWidth / scaledWidth; Log.i("@@@", "ratio:" + heightRatio + " " + widthRatio); //do whatever magic to get your touch point //MotionEvent event; //get the distance from the left and top of the image bounds float scaledImageOffsetX = event.getX() - imageBounds.left; float scaledImageOffsetY = event.getY() - imageBounds.top;
上一篇: 悲催的关于大众辉腾的笑话
推荐阅读
-
微信表情开放平台发布 微信6.2.4 for Android正式版下载
-
谷歌android apk开发工具Android Studio安装使用图文教程
-
Android Studio 官方最新版下载地址(支持国内下载)
-
Linux下Android开发环境搭建详细步骤
-
Android自定义View实现微信支付密码输入框
-
Android自定义相机Camera实现手动对焦的方法示例
-
Android EditText每4位自动添加空格效果
-
Android EditText追加空格、限制字符等方法示例
-
Android通过AlarmManager类实现简单闹钟功能
-
Android自定义View实现微信支付密码输入框