How to crop and rotate an image programmatically in android?

I want to rotate the image 90 degrees, and also want to crop the image taken from the phone’s gallery. How can I do this operation programmatically in android?

+5
source share
3 answers

To rotate the image, you can get the following code:

Bitmap bMap = BitmapFactory.decodeResource(getResources(),R.drawable.test); Matrix mat = new Matrix(); mat.postRotate(90); Bitmap bMapRotate = Bitmap.createBitmap(bMap, 0, 0, bMap.getWidth(), bMap.getHeight(), mat, true); BitmapDrawable bmd = new BitmapDrawable(bMapRotate); image.setImageBitmap(bMapRotate); image.setImageDrawable(bmd); 

and to crop the image taken from the gallery, use the following code snippet:

  Intent viewMediaIntent = new Intent(); viewMediaIntent.setAction(android.content.Intent.ACTION_VIEW); File file = new File("/image/*"); viewMediaIntent.setDataAndType(Uri.fromFile(file), "image/*"); viewMediaIntent.putExtra("crop","true"); viewMediaIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP); startActivityForResult(viewMediaIntent,1); 

Hope this will be helpful for you.

+11
source

Try the following code to crop the selected image from the gallery.

  private static final String TEMP_PHOTO_FILE = "temporary_holder.jpg"; Intent photoPickerIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); photoPickerIntent.setType("image/*"); photoPickerIntent.putExtra("crop", "true"); photoPickerIntent.putExtra(MediaStore.EXTRA_OUTPUT, getTempUri()); photoPickerIntent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString()); startActivityForResult(photoPickerIntent, REQ_CODE_PICK_IMAGE); private Uri getTempUri() { return Uri.fromFile(getTempFile()); } private File getTempFile() { if (isSDCARDMounted()) { File f = new File(Environment.getExternalStorageDirectory(),TEMP_PHOTO_FILE); try { f.createNewFile(); } catch (IOException e) { } return f; } else { return null; } } private boolean isSDCARDMounted(){ String status = Environment.getExternalStorageState(); if (status.equals(Environment.MEDIA_MOUNTED)) return true; return false; } protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { super.onActivityResult(requestCode, resultCode, imageReturnedIntent); switch (requestCode) { case REQ_CODE_PICK_IMAGE: if (resultCode == RESULT_OK) { if (imageReturnedIntent!=null){ File tempFile = getTempFile(); String filePath= Environment.getExternalStorageDirectory() + "/temporary_holder.jpg"; System.out.println("path "+filePath); Bitmap selectedImage = BitmapFactory.decodeFile(filePath); _image = (ImageView) findViewById(R.id.image); _image.setImageBitmap(selectedImage ); } } } 

and also see Tutorial1 , tutorial2

+1
source
0
source

All Articles