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.

  • Generar imagen de código de barras en la aplicación de Android
  • Cómo obtener el ancho y la altura de un android.widget.ImageView?
  • ByteArrayOutputStream a un FileBody
  • Estudio androide no encuentra icono dibujable
  • Android: ¿Cómo poner un archivo de imagen de la tarjeta SD a HashMap con simpleadapter?
  • Imagen personalizada en lugar de logotipo en ActionBar / ActionBarSherlock
  • ¿Hay una manera de recortar una imagen grande en android sin cargar en la memoria?
  • Tamaño de imagen demasiado grande para el nexo 7?
  • ¿Cómo puedo modificar TouchImageView con doble toque para acercar y alejar?
  • Phonegap resolveLocalFileSystemURL no funciona para el contenido de uri en android
  • Cómo convertir las coordenadas de la vista de imagen a las coordenadas del mapa de bits?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.