Blur for squared bitmap android

时间:2015-08-03 11:23:17

标签: android bitmap

我使用以下代码对矩形的位图进行平方:

private static Bitmap squareBitMap(Bitmap givenBitmap) {
        int dim = Math.max(givenBitmap.getWidth(), givenBitmap.getHeight());
        Bitmap resultBitmap= Bitmap.createBitmap(dim, dim, Config.ARGB_8888);

        Canvas canvas = new Canvas(resultBitmap);
        canvas.drawColor(Color.WHITE);


        canvas.drawBitmap(givenBitmap, (dim - givenBitmap.getWidth()) / 2, (dim - givenBitmap.getHeight()) / 2, null);

        return resultBitmap;
    }

这个code模糊位图。

google play中有很多应用程序模糊和方形位图:

示例

enter image description here

我怎样才能实现这一目标?

1 个答案:

答案 0 :(得分:1)

您可以使用下面的库来模糊图像

https://github.com/wasabeef/Blurry

使用下面的代码你必须创建方形位图:

if (srcBmp.getWidth() >= srcBmp.getHeight()){

  dstBmp = Bitmap.createBitmap(
     srcBmp, 
     srcBmp.getWidth()/2 - srcBmp.getHeight()/2,
     0,
     srcBmp.getHeight(), 
     srcBmp.getHeight()
     );

}else{

  dstBmp = Bitmap.createBitmap(
     srcBmp,
     0, 
     srcBmp.getHeight()/2 - srcBmp.getWidth()/2,
     srcBmp.getWidth(),
     srcBmp.getWidth() 
     );
}