kolaron

Blur image

Jan 25th, 2018
6,624
0
Never
2
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.05 KB | None | 0 0
  1. build.gradle
  2.  
  3. renderscriptTargetApi 18
  4. renderscriptSupportModeEnabled true
  5.  
  6. //#######################################################################################
  7.  
  8. object BlurBuilder {
  9.  
  10.     private const val BITMAP_SCALE = 0.6f
  11.     private const val BLUR_RADIUS = 15f
  12.  
  13.     fun makeBlur(context: Context, image: Bitmap): Bitmap {
  14.         val width = Math.round(image.width * BITMAP_SCALE)
  15.         val height = Math.round(image.height * BITMAP_SCALE)
  16.  
  17.         val inputBitmap = Bitmap.createScaledBitmap(image, width, height, false)
  18.         val outputBitmap = Bitmap.createBitmap(inputBitmap)
  19.  
  20.         val rs = RenderScript.create(context)
  21.  
  22.         val intrinsicBlur = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs))
  23.         val tmpIn = Allocation.createFromBitmap(rs, inputBitmap)
  24.         val tmpOut = Allocation.createFromBitmap(rs, outputBitmap)
  25.  
  26.         intrinsicBlur.setRadius(BLUR_RADIUS)
  27.         intrinsicBlur.setInput(tmpIn)
  28.         intrinsicBlur.forEach(tmpOut)
  29.         tmpOut.copyTo(outputBitmap)
  30.  
  31.         return outputBitmap
  32.     }
  33. }
Advertisement