在Android中裁剪表面视图

时间:2013-12-17 07:00:38

标签: android surfaceview crop

这就是我需要的:

我有一个Surface视图,它上面有一个正方形(图像视图)。我需要拍摄一张图像,然后裁剪出仅在广场内可见的区域。

此代码为我提供了不错的结果,但仅针对某些设备:

int width=(int)(bitmap.getWidth()*60/100);
int height=(bitmap.getHeight()*100/100); //dont change
bitmap=Bitmap.createBitmap(bitmap,150,0, width-55, height);

有什么办法可以概括这段代码吗?有没有其他方法可以得到我需要的东西?

编辑:这就是我开始工作的方式 -

  1. 将图像从曲面视图保存为位图(这非常简单。互联网上有许多示例说明如何操作)
  2. 在函数中使用此代码,并在单击图像后调用它

    //bitmap is the object where the image is stored
    int width = bitmap.getWidth();
    int height = bitmap.getHeight();
    
    int left;
    if(width > height){
        left = (width - height)/2;
    }
    else {
        left = (height - width)/2;
    }
    
    bitmap=Bitmap.createBitmap(bitmap,left,0, height, height);
    

0 个答案:

没有答案