Android Canvas图像缩放

时间:2012-09-27 05:12:29

标签: android canvas android-image

我是Android开发的新手,目前正致力于开发适用于画布和图像的App ...... 但我陷入了这个过程的中间阶段。

我想实现用户触摸图像边缘的功能,如果他/她拖动图像,图像将被缩放..

我搜索了很多更多内容,但无法找到任何教程或演示..

希望你这些家伙帮助我。这样的功能由galaxy Note提供,如下图所示..

enter image description here

1 个答案:

答案 0 :(得分:0)

试试这个。

如果用户触摸右侧的图像并将其拖动到右侧,则下面的代码将缩放图像并绘制缩放的图像。

Bitmap bmpImage;
        Rect src = new Rect();
        Rect dst = new Rect();
        src.left = initial_Start_pos_X;  // initial Start X postion of image
        src.top = initial_Start_pos_Y;   // initial Start Y postion of image
        src.right =initial_End_pos_X;  // initial End X postion of image
        src.bottom = initial_End_pos_Y;  // initial End Y postion of image

        dst.left = initial_Start_pos_X;
        dst.top = initial_Start_pos_Y;
        dst.right = Draged_Pox_X;       // Drag X position of image
        dst.bottom = initial_End_pos_Y;

        canvas.drawBitmap(bmpImage, src, dst, paint); // This line will scaled the image according to dst rect. It will take the image from src rect and draw in dst rect. so it will scaled the image.

每次拖动图像时,都必须使视图无效。你必须在ONTOUCHMOVE中使视图无效。

所以你必须先检查,用户触摸图像的哪一面并拖动然后你必须修改上面的代码。 以上代码仅显示右侧的缩放图像