¿Cómo puedo rotar un mapa de bits en Android?

Sé que hay hilos en esta pregunta ya, pero las soluciones parecen utilizar métodos de la clase Matrix que no parecen funcionar más. Incluso después de las importaciones los métodos no pueden ser resueltos. Estoy básicamente tratando de rotar un mapa de bits de 90 grados, porque sale de lado cuando tomo una foto verticalmente. Aquí está mi código para la actividad:

@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.camera); this.imageView = (ImageView)this.findViewById(R.id.imageView1); Button photoButton = (Button) this.findViewById(R.id.button1); photoButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); File file = new File(Environment.getExternalStorageDirectory()+File.separator + "image.jpg"); intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file)); startActivityForResult(intent, CAPTURE_IMAGE_FULLSIZE_ACTIVITY_REQUEST_CODE); } }); } protected void onActivityResult(int requestCode, int resultCode, Intent data) { //Check that request code matches ours: if (requestCode == CAPTURE_IMAGE_FULLSIZE_ACTIVITY_REQUEST_CODE) { //Get our saved file into a bitmap object: File file = new File(Environment.getExternalStorageDirectory()+File.separator + "image.jpg"); Bitmap bitmap = decodeSampledBitmapFromFile(file.getAbsolutePath(), 1000, 700); Intent intent = new Intent(this, EditActivity.class); ByteArrayOutputStream bs = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG, 50, bs); intent.putExtra("byteArray", bs.toByteArray()); startActivity(intent); } } 

prueba esto:

 public static Bitmap RotateBitmap(Bitmap source, float angle) { Matrix matrix = new Matrix(); matrix.postRotate(angle); return Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(), matrix, true); } 

Aquí por favor pase su mapa de bits o en ángulo lo que desea mostrar su mapa de bits como 90 180 etc .. cambiará la pantalla de mapa de bits utilizando el método postRotate () de la clase Matrix y de nuevo crear mapa de bits y revertir

Usted puede agregar un TextView a su disposición y fijar el mapa de bits a él

 ImageView yourView = (ImageView)findViewById(imageviewid); Bitmap bitmap = decodeSampledBitmapFromFile(file.getAbsolutePath(), 1000, 700); yourView.setImageBitmap(bitmap); 

Probablemente puede utilizar RotateAnimation en la vista (ImageView configurada en Bitmap) que desea Rotar y no olvide establecer la animación en fillAfter=true y duration=0 .

 <?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="90" android:toDegrees="180" android:pivotX="50%" android:pivotY="50%" android:duration="0" android:startOffset="0" /> 

Ahora todo lo que necesitas es inflar la animación a tu vista

 Animation rotation = AnimationUtils.loadAnimation(this, R.anim.rotation); yourView.startAnimation(rotation); 

O simplemente puede hacer esto yourView.setRotation(angle) con API >= 11 .

  • Cómo configurar el mapa de bits para el ImageView en main.xml capturado desde la cámara?
  • ¿Cuándo debo reciclar un mapa de bits usando LRUCache?
  • Cómo hacer que una imagen encaje en un marco circular en android
  • Android getPixels () posiblemente un error tonto?
  • Cómo obtener todo el mapa de bits adjunto a un ImageView?
  • ¿Cómo crear un ángulo parcialmente redondeado-curvas rectangulares con centro de cultivo y sin crear nuevo mapa de bits?
  • Cómo rellenar gridview con la imagen seleccionada de la galería o capturada desde la cámara
  • Android Map Rendimiento pobre debido a muchas superposiciones?
  • Android, la forma más rápida de dibujar un mapa de bits a la lona
  • Convertir todos los colores distintos de un color en particular en un mapa de bits a blanco
  • Android cómo escalar una imagen con las opciones de BitmapFactory
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.