Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用手指展开在画布上缩放位图图像_Android - Fatal编程技术网

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;
}

因此,您可以在那里编写代码以缩放画布,现在您必须在矩阵中为画布编写代码以放大位图。

我没有得到解决方案。我只想缩放位图图像。但这太复杂了。还有其他选择吗?多点触摸任何东西都很复杂。那个图书馆使事情变得容易多了。源代码包含一个示例应用程序,因此实现应该非常简单。