在程序中我想實現拍攝完一張圖片後,想要獲取圖片中人物的眼睛在圖片中的坐標。使用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;