1
我有一個自定義的ImageView
重新定位網頁上的圖像。在手機屏幕上看到的圖像應該代表網頁上的圖像。Android獲取圖像的座標
我正在使用Matrix.mapPoints(float[] dst, float[] src)
來嘗試獲取圖像在縮放到正確構圖時的偏移量。我還考慮了圖像的縮放程度,以及手機上的圖像視圖與網頁上圖像標籤寬度的大小。
UpdateImage()在圖像視圖類
public void updateImage() {
final float phoneDisplayScale = (float) getWidth()/(float) getDrawable().getIntrinsicWidth();
float[] m = new float[9];
matrix.getValues(m);
float scale = m[Matrix.MSCALE_X];
float[] arr = {0, 0};
matrix.mapPoints(arr, arr);
//holder.rect = {image_x, image_y, imageWidth, imageHeight}
if (holder != null) {
holder.getRect()[0] = arr[0]/phoneDisplayScale;
holder.getRect()[1] = arr[1]/phoneDisplayScale;
holder.getRect()[2] = scale * (getImageWidth()/phoneDisplayScale);
holder.getRect()[3] = scale * (getImageHeight()/phoneDisplayScale);
Log.i(TAG, "doInBackground: " + Arrays.toString(holder.getRect()));
Log.i(TAG, "doInBackground: " + Arrays.toString(holder.getRect()));
Log.i(TAG, "doInBackground: " + Arrays.toString(holder.getRect()));
}
//
//
// Socket io code
//
//
}
這作品時,對圖像進行縮放和對齊,使圖像的左上角是在ImageView
的左上角,但你可以切勿放大圖像的右下角。我還注意到,如果我放大地圖點方法的最大值,將返回圖像的寬度和高度(負值)。