在程序中我想实现拍摄完一张图片后,想要获取图片中人物的眼睛在图片中的坐标。使用OnTouchListener.onTouch(…)
方法获得ImageView的坐标。
如何把用户手动点击的位置坐标,及ImageView的坐标转化成位图中的坐标?
在程序中我想实现拍摄完一张图片后,想要获取图片中人物的眼睛在图片中的坐标。使用OnTouchListener.onTouch(…)
方法获得ImageView的坐标。
如何把用户手动点击的位置坐标,及ImageView的坐标转化成位图中的坐标?
给你先参考方法,这里面的方法你肯定能用的上:
ImageView imageView = (ImageView)findViewById(R.id.imageview);
Drawable drawable = imageView.getDrawable();
Rect imageBounds = drawable.getBounds();
//初始化bitmap的宽高
int intrinsicHeight = drawable.getIntrinsicHeight();
int intrinsicWidth = drawable.getIntrinsicWidth();
//可见image的宽高
int scaledHeight = imageBounds.height();
int scaledWidth = imageBounds.width();
//使用fitXY
float heightRatio = intrinsicHeight / scaledHeight;
float widthRatio = intrinsicWidth / scaledWidth;
//获取图像边界值
int scaledImageOffsetX = event.getX() - imageBounds.left;
int scaledImageOffsetY = event.getY() - imageBounds.top;
//根据你图像的缩放比例设置
int originalImageOffsetX = scaledImageOffsetX * widthRatio;
int originalImageOffsetY = scaledImageOffsetY * heightRatio;