Android 使用手指展开在画布上缩放位图图像
我正在画布上使用Android 使用手指展开在画布上缩放位图图像,android,Android,我正在画布上使用 canvas.drawBitmap(mBitmap, 0, 0, mPaint); 现在我想用两个手指在多点触摸上缩放这个位图。我找到了一个手指打开的缩放图像解决方案,但我想用两个手指(捏缩放)来实现。如何实现这一点?我建议使用。这是一个惊人的图书馆,让你捏缩放。它使多点触控变得更容易,而且非常平滑。我在地图应用程序上使用过它,效果非常好。如果需要,还支持平移和多点触摸旋转。您必须在画布视图上实现onTouchListener private String mode= "
canvas.drawBitmap(mBitmap, 0, 0, mPaint);
现在我想用两个手指在多点触摸上缩放这个位图。我找到了一个手指打开的缩放图像解决方案,但我想用两个手指(捏缩放)来实现。如何实现这一点?我建议使用。这是一个惊人的图书馆,让你捏缩放。它使多点触控变得更容易,而且非常平滑。我在地图应用程序上使用过它,效果非常好。如果需要,还支持平移和多点触摸旋转。您必须在画布视图上实现onTouchListener
private String mode= "Down";
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
mode="DOWN";
}
else if (event.getAction() == MotionEvent.ACTION_MOVE){
if(mode.equals("DRAG"){
// it means both fingers are pressed and now you can zoom the canvas
}
}
else if (event.getAction() == MotionEvent.ACTION_POINTER_DOWN){
mode="DRAG";
}
return false;
}
因此,您可以在那里编写代码以缩放画布,现在您必须在矩阵中为画布编写代码以放大位图。我没有得到解决方案。我只想缩放位图图像。但这太复杂了。还有其他选择吗?多点触摸任何东西都很复杂。那个图书馆使事情变得容易多了。源代码包含一个示例应用程序,因此实现应该非常简单。