0
 public class Fram_1 extends AppCompatActivity { private int REQUEST_CAMERA = 0, SELECT_FILE = 1, SELECT_FILE2 = 2; private String userChoosenTask; ImageView img1, img2; TextView txt1, txt2; LinearLayout img_store, txt_effect, img_brighteff; FrameLayout layout_container; View view; Bitmap bitmap1, bitmap2; Toolbar toolbarMain; EditText edtxt_txteffect; TextView txt_txteffect; LinearLayout effect_toolbarlayoutContainer; // for Birghtness Effect private SeekBar seekBarBri, seekBarBlur; //Variable to store brightness value private int brightness; //Content resolver used as a handle to the system's settings private ContentResolver cResolver; //Window object, that will store a reference to the current window private Window window; // for Blur effect private Bitmap bit_blur; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_fram_1); img_brighteff = (LinearLayout) findViewById(R.id.frm1_img_effect); txt_effect = (LinearLayout) findViewById(R.id.frm1_text_effect); img_store = (LinearLayout) findViewById(R.id.frm1_toolbar_image_save); img1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { txt1.setVisibility(View.GONE); selectImage(SELECT_FILE); } }); // For Blur Effect seekBarBlur.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { float radius = (float) Fram_1.this.seekBarBlur.getProgress(); img1.setImageBitmap(createBlurBitmap(bitmap1, radius)); } }); } }); client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build(); } } private void selectImage(final int number) { final CharSequence[] items = {"Take Photo", "Choose from Library", "Cancel"}; AlertDialog.Builder builder = new AlertDialog.Builder(Fram_1.this); builder.setTitle("Add Photo!"); builder.setItems(items, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int item) { boolean result = Utility.checkPermission(Fram_1.this); if (items[item].equals("Take Photo")) { userChoosenTask = "Take Photo"; if (result) cameraIntent(); } else if (items[item].equals("Choose from Library")) { Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); intent.setType("image/*"); startActivityForResult(Intent.createChooser(intent, "Select File"), number); } else if (items[item].equals("Cancel")) { dialog.dismiss(); } } }); builder.show(); } @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { switch (requestCode) { case Utility.MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE: if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { if (userChoosenTask.equals("Take Photo")) cameraIntent(); else if (userChoosenTask.equals("Choose from Library")) { Intent intent1 = new Intent(); intent1.setType("image/*"); intent1.setAction(Intent.ACTION_GET_CONTENT);// startActivityForResult(Intent.createChooser(intent1, "Select File"), SELECT_FILE); } } else { //code for deny } break; } } } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == Activity.RESULT_OK) { Uri selectedImageUri = data.getData(); if (requestCode == SELECT_FILE) { try { // iwant to use bitmap1 variable inside seekBarBlur listener onstopTakingTouch setImageonBitmap methhod bitmap1 = MediaStore.Images.Media.getBitmap(getContentResolver(), selectedImageUri); img1.setScaleType(ImageView.ScaleType.FIT_XY); img1.setImageBitmap(bitmap1); txt1.setVisibility(View.GONE); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } else if (requestCode == SELECT_FILE2) { try { bitmap2 = MediaStore.Images.Media.getBitmap(getContentResolver(), selectedImageUri); } catch (IOException e) { e.printStackTrace(); } img2.setScaleType(ImageView.ScaleType.FIT_XY); img2.setImageBitmap(bitmap2); txt2.setVisibility(View.GONE); } } else if (requestCode == REQUEST_CAMERA && resultCode == RESULT_OK) { onCaptureImageResult(data); } } } 
1

1 Answer 1

0

You can do something like this :

private static final float BITMAP_SCALE = 0.4f; private static final float BLUR_RADIUS = 7.5f; public static Bitmap blur(Context context, Bitmap image) { int width = Math.round(image.getWidth() * BITMAP_SCALE); int height = Math.round(image.getHeight() * BITMAP_SCALE); Bitmap inputBitmap = Bitmap.createScaledBitmap(image, width, height, false); Bitmap outputBitmap = Bitmap.createBitmap(inputBitmap); RenderScript rs = RenderScript.create(context); ScriptIntrinsicBlur theIntrinsic = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs)); Allocation tmpIn = Allocation.createFromBitmap(rs, inputBitmap); Allocation tmpOut = Allocation.createFromBitmap(rs, outputBitmap); theIntrinsic.setRadius(BLUR_RADIUS); theIntrinsic.setInput(tmpIn); theIntrinsic.forEach(tmpOut); tmpOut.copyTo(outputBitmap); return outputBitmap; } 

and use this method in your onActivityResult method to get the blurred Bitmap.

Here's a tutorial on how to blur an image in Android.

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.