Cómo recortar y girar la imagen mediante programación en android?

Quiero girar la imagen en 90 grados y también quiero recortar la imagen sacada de la galería del teléfono. ¿Cómo puedo realizar esta operación de forma programática en android?

Para realizar la rotación de la imagen puede tener el código siguiente:

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); 

Y para el recorte de imágenes tomadas desde la galería utilice el siguiente fragmento de código:

  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); 

Esperanza, esto será provechoso para usted.

Pruebe el siguiente código para recortar la imagen seleccionada de la gallary.

  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 ); } } } 

Y también echar un vistazo a este Tutorial1 , tutorial2

prueba esto:

Android: recortar una imagen después de tomarla con cámara con una relación de aspecto fija

Que te ayude.

  • Cómo cambiar imágenes en lienzo en android?
  • Cómo agregar la imagen de fondo a la actividad?
  • Android - Imagen en botón presionado evento - Aplicar superposición de imagen a todos
  • Buscar la posición de ImageView en relación con la imagen que está mostrando
  • Byte a la imagen de android
  • Android - imágenes vectoriales perder calidad?
  • Cómo implementar efectos de distorsión de imagen en Android
  • Problema de conversión de URI a Bitmap (2014):
  • Android Guardar imagen Exif Información goes Wrong in Marshmallow 6.0.1
  • Android, ¿Cómo puedo girar una flecha (imagen) alrededor de un punto fijo?
  • ¿Cómo cambio el tinte de un ImageButton en el enfoque / presione
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.