Hola equipo de stackoverflow tengo un problema al convertir cadena de base64 a mapa de bits en android. Estoy usando la cámara para buscar la imagen y estoy convirtiendo la imagen a la cadena base64 para publicar en el servidor. Quiero mostrar esa imagen en la vista de imagen, entonces, ¿cómo puedo mostrar la imagen en ImageView después de obtener la imagen de la cámara? Por favor ayudame a resolver el problema.Código de Android para convertir cadena de base64 a mapa de bits
Respuesta
Suponiendo que los datos de imagen es de una serie llamada myImageData, la siguiente debe hacer el truco:
byte[] imageAsBytes = Base64.decode(myImageData.getBytes(), Base64.DEFAULT);
ImageView image = (ImageView)this.findViewById(R.id.ImageView);
image.setImageBitmap(
BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length)
);
para la decodificación base 64, se puede utilizar como http://iharder.sourceforge.net/current/java/base64/ Android no contiene base 64 de soporte antes de la 2.2 .
Nota, en realidad no ejecuté este código, por lo que tendrá que verificar dos veces para detectar errores.
¿Funcionará esto también para los png codificados en base64? – pfrank
En mi caso: 'byte [] = imageBitmap Base64.decode (mEncodedImageData, \t \t \t \t \t \t \t Base64.DEFAULT); ' –
EDIT: Aceptado mensaje ha sido actualizado para copiar mi respuesta a continuación, o bien son correctas
La respuesta aceptada no es correcta al menos en JellyBean, KitKat o Lollipop. Debe usar lo siguiente que funciona para imágenes JPEG, PNG o GIF.
byte[] imageAsBytes = Base64.decode(myImageData.getBytes(), Base64.DEFAULT);
ImageView image = (ImageView)this.findViewById(R.id.ImageView);
image.setImageBitmap(
BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length)
);
Tur: ¿no es el mismo código que TuomasR's (que es la respuesta aceptada)? – AshesToAshes
@AshesToAshes Ahora han actualizado su respuesta para copiar la mía (http://stackoverflow.com/posts/3801881/revisions) – Apqu
Anote el Método sencillo pasar la base 64 de cuerdas y devolverá el objeto de mapa de bits
Bitmap Base64ToBitmap(String myImageData)
{
byte[] imageAsBytes = Base64.decode(myImageData.getBytes(),Base64.DEFAULT);
return BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length);
}
Esto funcionó para mí. ¿Puedes explicar esta conversión teoraticamente? –
- 1. Cómo convertir el mapa de bits a una cadena Base64?
- 2. Convertir mapa de bits a cadena
- 3. Convertir texto de cadena a mapa de bits
- 4. android convertir vista XML a mapa de bits sin mostrarlo
- 5. Convertir vista a mapa de bits en Android
- 6. Cómo convertir mapa de bits a lápiz en Android?
- 7. Codificar y decodificar objeto de mapa de bits en cadena base64 en Android
- 8. Android: ¿cómo convertir ImageView completo a mapa de bits?
- 9. ¿Cómo convertir un mapa de bits a Drawable en android?
- 10. Convertir base64 Cadena en imagen en Android
- 11. Conversión de mapa de bits a byteArray android
- 12. Cómo convertir mapa de bits a imagen
- 13. imagen de conversión a mapa de bits en android
- 14. Cómo convertir mapa de bits a matriz de bytes en Mono para Android
- 15. Convertir texto en mapa de bits (Pixel) en Android
- 16. convertir cadena base64 a imagen con javascript
- 17. android cómo guardar un mapa de bits - código de error
- 18. Cargar Jpg/Gif/Mapa de bits y convertir a mapa de bits
- 19. Convertir Kinect ColorImageFrame en mapa de bits
- 20. UIImage a base64 Codificación de cadena
- 21. Convertir mapa de bits en el icono
- 22. Convertir documento de Word a cadena base64 C#
- 23. Android Widget de mapa de bits Tamaños
- 24. ¿Cómo convertir una imagen en una cadena de Base64?
- 25. Convertir cadena hexadecimal de 128 bits a base-36 cadena
- 26. Conversión de archivo binario a cadena Base64
- 27. Convierta un mapa de bits a GrayScale en Android
- 28. Android - Rellene mapa de bits con color
- 29. Cómo convertir una cadena Base64 en una imagen BitMap para mostrarla en un ImageView?
- 30. cómo convertir una imagen en cadena base64
Sólo para una mejor comprensión: ¿Por qué quieres para codificar la imagen en base 64 en primer lugar, a continuación, enviar decodificarlo para volver a mostrarlo en ImageView? ¿No sería más fácil buscarlo primero, mostrarlo en ImageView y luego codificarlo en base64 para enviarlo al servidor? ^^ – Tseng