放大区域坐标



我有一个ImageView,它有一些手势识别器:平移、缩放等等。用户正在缩放图像的某个区域。当他按下一个按钮时,我想在父ImageView中插入一个视图(例如一个圆(。

我想知道在放大ImageView的某个区域后,如何获得区域的中心坐标或表示缩放图像的矩形。我可以很容易地获得MotionEvent事件,但我不知道如何检测放大区域的新坐标。非常感谢。

您要查找的是"Crop"。有许多库可以裁剪图像。选择其中一个,或者检查它们如何解决您的问题。在那里你可以找到一些裁剪库。

以下是HackyViewPager代码公共类HackyViewPager扩展ViewPager{

private Context cont;  

启用私有布尔值;

public HackyViewPager(Context context) {
    super(context);
    isLocked = false;
    cont=context;
}
public HackyViewPager(Context context, AttributeSet attrs) {
    super(context, attrs);
    cont=context;
    this.enabled = true;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
    if (this.enabled) {
        return super.onTouchEvent(event);
    }
    return false;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
    try {
        if (this.enabled) {
            return super.onInterceptTouchEvent(event);
        } else {
            return false;
        }
    } catch (IllegalArgumentException e) {
        e.printStackTrace();
        return false;
    }
}
public void setPagingEnabled(boolean enabled) {
    this.enabled = enabled;
}

}

您可以使用PhotoView。有一个属性setOnMatrixChangeListener,它将返回更改后的坐标。如果您已经在使用任何其他库,那么必须有一些属性可用于相同的库。如果你告诉库,可以检查属性

最新更新