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