Codificar y decodificar objeto de mapa de bits en cadena base64 en Android

Quiero codificar y decodificar objeto de Bitmap en cadena base64 . Yo uso el API10 de Android,

He intentado, sin éxito, utilizar un método de esta forma para codificar un Bitmap .

 public static String encodeTobase64(Bitmap image) { Bitmap immagex=image; ByteArrayOutputStream baos = new ByteArrayOutputStream(); immagex.compress(Bitmap.CompressFormat.JPEG, 100, baos); byte[] b = baos.toByteArray(); String imageEncoded = Base64.encodeToString(b,Base64.DEFAULT); Log.e("LOOK", imageEncoded); return imageEncoded; } 

2 Solutions collect form web for “Codificar y decodificar objeto de mapa de bits en cadena base64 en Android”

 public static String encodeToBase64(Bitmap image, Bitmap.CompressFormat compressFormat, int quality) { ByteArrayOutputStream byteArrayOS = new ByteArrayOutputStream(); image.compress(compressFormat, quality, byteArrayOS); return Base64.encodeToString(byteArrayOS.toByteArray(), Base64.DEFAULT); } public static Bitmap decodeBase64(String input) { byte[] decodedBytes = Base64.decode(input, 0); return BitmapFactory.decodeByteArray(decodedBytes, 0, decodedBytes.length); } 

Ejemplo de uso:

 String myBase64Image = encodeToBase64(myBitmap, Bitmap.CompressFormat.JPEG, 100); Bitmap myBitmapAgain = decodeBase64(myBase64Image); 

Espero que esto te ayudará

  Bitmap bitmap = BitmapFactory.decodeStream(this.getContentResolver().openInputStream(uri)); 

(Si está haciendo referencia a URI para construir mapa de bits) O

 Resources resources = this.getResources(); Bitmap bitmap= BitmapFactory.decodeResource(resources , R.drawable.logo); 

(Si está haciendo referencia a dibujable para construir mapa de bits)

Luego Codificarlo

  ByteArrayOutputStream stream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); byte[] image = stream.toByteArray(); String encodedImage = Base64.encode(image, Base64.DEFAULT); 

Para la lógica de decodificación será exactamente el reverso de la codificación

 byte[] decodedString = Base64.decode(encodedImage, Base64.DEFAULT); Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length); 
  • Ronda de las esquinas inferior en Android Bitmap?
  • Cómo obtener el tamaño del mapa de bits después de mostrarlo en ImageView
  • Cómo crear relieve alrededor de un mapa de bits?
  • Los bordes en la imagen no son suaves después de setpixels en android
  • Android - Lienzo negro cuando se utiliza Flood-Fill
  • Android: ¿Cómo resolver Bitmap java.lang.OutOfMemoryError?
  • Cambiar el tamaño de la imagen del archivo
  • Cómo convertir un mapa de bits en Drawable en android?
  • Cómo crear borde blanco alrededor de mapa de bits?
  • Cómo codificar Bitmaps en un video usando MediaCodec?
  • ¿Cómo puedo copiar bitmap a otro bitmap sin usar createBitmap () y copy () en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.