studio imagen encodetostring convertir compress android imageview base64

imagen - imageview to base64 android



Android convierte la cadena codificada en base64 en vista de imagen (4)

En primer lugar, debe verificar que la cadena que desea descodificar es válida y tiene el valor que se desea descodificar y para hacerlo, puede hacer algo como a continuación:

filePath= Environment.getExternalStorageDirectory() + "/SaudiScore/temporary_holder.jpg"; Bitmap selectedImage = BitmapFactory.decodeFile(filePath); ByteArrayOutputStream stream = new ByteArrayOutputStream(); selectedImage.compress(Bitmap.CompressFormat.JPEG, 100, stream); byte[] byteArray = stream.toByteArray(); String strBase64=Base64.encodeToString(byteArray, 0);

luego puede decodificar la cadena que acaba de codificar y recuperar la imagen haciendo algo como lo siguiente:

byte[] decodedString = Base64.decode(strBase64, Base64.DEFAULT); Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length); image.setImageBitmap(decodedByte);

Quiero convertir una cadena codificada en base64 en un mapa de bits para poder ponerla en vista de imagen, pero obteniendo un error como

D / skia (7490): --- decodificador-> decodificación devuelto falso y mapa de bits devuelve un valor nulo

Mi código es:

byte[] imageAsBytes = Base64.decode(imageData); image.setImageBitmap(BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length));


Este método puede ayudar:

private void setExistImage(ImageView imageView, String base64String){ if (!base64String.isEmpty()) { byte[] bytes = Base64.decode(base64String, Base64.DEFAULT); imageView.setImageBitmap(BitmapFactory.decodeByteArray(bytes, 0, bytes.length)); } }


byte[] decodedString = Base64.decode(mBase64string, Base64.DEFAULT); Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0,decodedString.length); mImageView.setImageBitmap(decodedByte);


String base = "Base64 string values of some image"; byte[] imageAsBytes = Base64.decode(base.getBytes(), Base64.DEFAULT); ImageView image = (ImageView) this.findViewById(R.id.imageView1); image.setImageBitmap(BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length));

Prueba este código.