Estoy utilizando exifInterface para el código de problema de rotación de fotos que se muestra a continuación: Enfrentando el problema de orientación de la imagen capturada desde la cámara.Enfrentando el problema de orientación con la imagen capturada de la cámara en los teléfonos Android
- Crear un mapa de bits del archivo
Bitmap b = BitmapFactory.decodeFile(imagePath);
- cambiar el tamaño del mapa de bits mediante el escalado a nivel apropiado
int width = b.getWidth();
int height = b.getHeight();
int newWidth = 150;
int newHeight = 150;
float scaleWidth = ((float) newWidth)/width;
float scaleHeight = ((float) newHeight)/height;
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
// Bitmap resizedBitmap = Bitmap.createBitmap(b, 0, 0, width, height, matrix, true);
// resizedBitmap.compress(Bitmap.CompressFormat.JPEG, 70, out);
- orientación de la manija de la imagen
ExifInterface exif = new ExifInterface(imagePath);
String orientation = exif.getAttribute(ExifInterface.TAG_ORIENTATION);
if (orientation.equals(ExifInterface.ORIENTATION_NORMAL)) {
// Do nothing. The original image is fine.
} else if (orientation.equals(ExifInterface.ORIENTATION_ROTATE_90+"")) {
matrix.postRotate(90);
} else if (orientation.equals(ExifInterface.ORIENTATION_ROTATE_180+"")) {
matrix.postRotate(180);
} else if (orientation.equals(ExifInterface.ORIENTATION_ROTATE_270+"")) {
matrix.postRotate(270);
}
- Guardar el nuevo mapa de bits
out = new FileOutputStream(new File("some output file path"));
Bitmap resizedBitmap = Bitmap.createBitmap(b, 0, 0, width, height, matrix, true);
resizedBitmap.compress(Bitmap.CompressFormat.JPEG, 70, out);
Este código no funciona para la emisión de rotación resolución, por favor, dame únicamente. En los dispositivos LG su interfaz externa siempre devuelve la orientación 0, los dispositivos Samsung devuelven 6 y 1.
Cómo solucionar este problema con todos los dispositivos como htc, Motorola, Samsung, Sony y LG.
Estoy agradecido a todos ustedes por favor ayúdenme.
¿Has probado en HTC? – user991429
Sí, también pruebo la aplicación con HTC Explorer y funciona bien como LG Optimus Black. @ user991429 – MKJParekh
@MKJParekh: Buen trabajo, gracias :) – Aerrow