最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將圖像視圖的坐標轉(zhuǎn)換為位圖的坐標?

如何將圖像視圖的坐標轉(zhuǎn)換為位圖的坐標?

慕運維8079593 2019-12-13 15:10:19
在我的應(yīng)用中,我需要讓用戶檢查一些照片的眼睛。在OnTouchListener.onTouch(...)中,我獲得了ImageView的坐標。如何將該坐標轉(zhuǎn)換為被觸摸的位圖上的點?
查看完整描述

3 回答

?
繁星淼淼

TA貢獻1775條經(jīng)驗 獲得超11個贊

這至少對我來說適用于API 10+:


final float[] getPointerCoords(ImageView view, MotionEvent e)

{

    final int index = e.getActionIndex();

    final float[] coords = new float[] { e.getX(index), e.getY(index) };

    Matrix matrix = new Matrix();

    view.getImageMatrix().invert(matrix);

    matrix.postTranslate(view.getScrollX(), view.getScrollY());

    matrix.mapPoints(coords);

    return coords;

}



查看完整回答
反對 回復(fù) 2019-12-14
?
明月笑刀無情

TA貢獻1828條經(jīng)驗 獲得超4個贊

除了考慮由于填充而產(chǎn)生的偏移量(邊距是布局的一部分,它是視圖外部的空間,不必考慮),如果縮放圖像,則可以獲取圖像矩陣(ImageView.getImageMatrix())來縮放坐標。


編輯:您可以獲取x / y比例因子和轉(zhuǎn)換量,獲取值數(shù)組并使用相應(yīng)的索引常量:


float[] values;

matrix.getValues(values);


float xScale = values[Matrix.MSCALE_X];

請注意,翻譯不包括填充,您仍然需要單獨考慮。當(dāng)有一些“空白”空間時,例如在FIT_CENTER縮放中使用轉(zhuǎn)換。



查看完整回答
反對 回復(fù) 2019-12-14
  • 3 回答
  • 0 關(guān)注
  • 431 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號