compress bitmap to string android - android

Hi guys I have a problem when I go to encode the image to a bitmap and then do a comparison with the decode an encoded image with tools via the Internet but does not give me the same decoding and can not figure out why.
String path = "/sdcard/bluetooth/bluetooth.png";
Bitmap bitmap = BitmapFactory.decodeFile(path);
ByteArrayOutputStream bao = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, bao);
byte [] ba = bao.toByteArray();
String ba1=Base64.encodeToString(ba,Base64.DEFAULT);

I used the below for encoding and decoding and it works fine for me
Encode
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;
}
Try the below for decoding and set the resulting bitmap to imageview and check with the original.
Decode.
public static Bitmap decodeBase64(String input)
{
byte[] decodedByte = Base64.decode(input, 0);
return BitmapFactory.decodeByteArray(decodedByte, 0, decodedByte.length);
}

Related

Converting bitmap into Base64 not encoding correctly in android.. I not getting image back when decoding

This is my code and I tried lot of code varieties already...
public String getStringImage(Bitmap bmp){
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] imageBytes = baos.toByteArray();
String encodedImage = Base64.encodeToString(imageBytes,Base64.DEFAULT);
return encodedImage;
}
You can try following code to encode and decode image:
//Compress img and save
private String encodeBitmapAndSave(Bitmap bitmap1) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap1.compress(Bitmap.CompressFormat.PNG, 100, baos);
return Base64.encodeToString(baos.toByteArray(), Base64.DEFAULT);
}
//Decompress img
private Bitmap decodeFromFirebaseBase64(String image) throws IOException {
byte[] decodedByteArray = Base64.decode(image, Base64.DEFAULT);
return BitmapFactory.decodeByteArray(decodedByteArray, 0, decodedByteArray.length);
}

How to convert image to string in Android?

It's my MySql DB
Its encoding:-
public String convertBitmapToString(Bitmap bmp) {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream); //compress to which format you want.
byte[] byte_arr = stream.toByteArray();
String imageStr = Base64.encodeToString(byte_arr, 1);
return imageStr;
}
This is decoding:-
String img=o.toString();
byte[] imageAsBytes = Base64.decode(img.getBytes(), Base64.DEFAULT);
imageView.setImageBitmap(BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length));
Thank you.
It could be done by
private String getBase64String() {
// give your image file url in mCurrentPhotoPath
Bitmap bitmap = BitmapFactory.decodeFile(mCurrentPhotoPath);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
// In case you want to compress your image, here it's at 40%
bitmap.compress(Bitmap.CompressFormat.JPEG, 40, byteArrayOutputStream);
byte[] byteArray = byteArrayOutputStream.toByteArray();
return Base64.encodeToString(byteArray, Base64.DEFAULT);
}
And for Decode
private void decodeBase64AndSetImage(String completeImageData, ImageView imageView) {
// Incase you're storing into aws or other places where we have extension stored in the starting.
String imageDataBytes = completeImageData.substring(completeImageData.indexOf(",")+1);
InputStream stream = new ByteArrayInputStream(Base64.decode(imageDataBytes.getBytes(), Base64.DEFAULT));
Bitmap bitmap = BitmapFactory.decodeStream(stream);
imageView.setImageBitmap(bitmap);
}

Convert Image to Base64 String Android

I am able to get an encoded String using the following code :
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.NO_WRAP);
}
BitmapDrawable drawable = (BitmapDrawable) imgPreview.getDrawable();
Bitmap bitmap = drawable.getBitmap();
encodedImage = encodeToBase64(bitmap, Bitmap.CompressFormat.JPEG, 100);
I get the following as String
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
But when i try to decode it using http://freeonlinetools24.com/base64-image nothing shows.
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image);
ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteStream);
byte[] byteArray = byteStream.toByteArray();
String baseString = Base64.encodeToString(byteArray,Base64.DEFAULT);
This worked for me.
I have found out the problem. The problem was with the logcat from where i was copying the encoded string. Logcat didn't display the entire String so the broken string didn't decode the image for me.
So when i passed the encoded string directly to the decode function the image was visible.
I checked an image with given link http://freeonlinetools24.com/base64-image and it works fine. I think the reason for getting wrong output is your string. Encoded string always ends with == . Check your encoded string.
Example Code
Encode Image
BitmapDrawable drawable = (BitmapDrawable) imgPreview.getDrawable();
Bitmap bitmap = drawable.getBitmap();
encodedImage = encodeToBase64(bitmap, Bitmap.CompressFormat.JPEG, 100);
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);
}
Decode Image
Bitmap bitmap = decodeBase64(encodedImage );
img.setImageBitmap(bitmap);
public static Bitmap decodeBase64(String input)
{
byte[] decodedBytes = Base64.decode(input,0);
return BitmapFactory.decodeByteArray(decodedBytes, 0, decodedBytes.length);
}
EDITED
see my string..
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
You can use the Base64 Android class:
String encodedImage = Base64.encodeToString(byteArrayImage, Base64.DEFAULT);
You'll have to convert your image into a byte array though. Here's an example:
Bitmap bm = BitmapFactory.decodeFile("/path/to/image.jpg");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.JPEG, 100, baos); //bm is the bitmap object
byte[] b = baos.toByteArray();
Encode/Convert image to base64 string
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.yourimage);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] imageBytes = baos.toByteArray();
String imageString = Base64.encodeToString(imageBytes, Base64.DEFAULT);

How to convert Bitmap to Base64 String

I am developing an android application which uploads Base64 String of image into web server. Therefore, I have used the following code to convert a Bitmap into Base64 String.
public String getEncoded64ImageStringFromBitmap(Bitmap bitmap) {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteFormat = stream.toByteArray();
String imgString = Base64.encodeToString(byteFormat, Base64.NO_WRAP);
return imgString;
}
For example, I need to convert this image.
After the conversion, I'm not getting the Base64 String as I expected.
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
The real Base64 String it should be this (I use this website to convert)
iVBORw0KGgoAAAANSUhEUgAAAIcAAAB7CAYAAABet5NoAAAACXBIWXMAABcSAAAXEgFnn9JSAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABjBJREFUeNrsnc9x2zwQxRE1YDeQsVOBdPXJSgVRKhBdQeyTr/Ixp6QDUx1IHUinXKUKIo8bkCtwsJ7l98E0IUEkQWKB92Y4zp+xEz3+9LC7IsFPr6+vqgs9X92f6y9jfYz4oN9fH/iWJ33sjGP1+c/PlRIu7cOIfbg0vDg78m1rfez1senSh08+4WAjMjZj2NKPJaMWdGiTdkKAmOgvxXEmxYfW4dBGXDIQdFx49p0MyrU5eYBAkA+zloGwack+LIKEwzBj2sO5oCVoFgIk2ocx+3At3YfGcHAtQWb8COANS+bctv0OEvDmqPIha1qbNIKD19K8g9iss9xkXdUk2geC4jZAH5bsw74zODgtCIpvAdeBL5wiuee0WLRYbPvyYVInRU6GgzuQRQfFZluaMyT7lsEINTVtetAezLzBoQ2hDuS3IEMKbamdbgsQ7QMtIb8Ejlnm2oOsdTgYjEclV08cr5uGYOSBFJ1N6rGJyxtlkAgYipfBFS+LqYKhuMV2qj8GiYBR6KwuIJGAUWjIr6f+ssImrgTWGC5LzMi1BokMDOci1QoHt6sbQV2JlyI1YjAKfbcNDQ8tK3nEYCieTawSB+PtPHMQuMHBPfw3Fb+sa28iYBR1WO60rDBFuwjrDOf+PyEwTH0tT1GrkmOWGBikKXdlqYKhqtLjXXLwZwV/Vbpaq34+ag9FN+ZnUYOK1EhZ14m//lnlssK1xkRBKeuCL1b6kBxZgrUG9FGZDQ4ImhZzjwEvKTQmH8IXiDUxk2MMPyBDYxMOFKLQh+R4m3PoZeUVfkAlfRmYrQsEGRrRsjKCD5ANjkv4AFUVpUgOyKZzJAdk05DguIAPUJUGsAACHBDggAAHBDggwAEBDghwQBHB8QIbIBscG9gAYVmBToZjBRsgGxx72ACh5oBO0RPggGzaDXjboyd4AZW0KboVpAcEOKDT4UA7C5l6oZ2e3+CI4dlpUKtaFa1soTU8gViLMhxID8iaHAt4Amltiydc/QcHP2oC8w4oL34xqFprIMBRBUcOb5LW3HxQwDs4eGnZwiOkRlVykH7DoyS1Prr3OW9vjMI08dSwJQdpBq+Sa1/d4EB6JKfbqj88dIEx0iPRWuMoHJwe6FziV2b7i2O3JtzCu6j1UIzKq3T0idTPV/fU2v6Aj1EWoQc3C3S5qWmG4jSt5cQZDh6nYm/0uHTH0/BmcDAg9IMe4GkUWurz6TQFd75Xlh9rvYS3susMdcJDl069kTpDeytWtNVGduzx7LXh4B+cKezpIRGMsUud0SQ5ivpjDL9ldSanglELDgOQG3guQvQg4VpX+NXevIXH6wAkfDDyut/caGcfABIvGI3hACDxgkE6+tmKq56v7qmLecR5kdeVeEsOJEicYLQKhwHId4U5iHgwWl1WSksMfRS80scZzptMMFpPDiNBikEZEsSvtr7A8JYcRoKcc4IMcR69geFtq1CvOxjzf3ys8GGdODC8w1ECZI5z2oqWXYDhfVmpWGaom5ni/NYW3eicdfWPdboxPr8wXFEmAIzOk8NIEHqRmKa6q5VxeNDJYSQIvdAbtLrhgtFbchgJgmGZXfTGmfS5DWivcACQg2B4G24FvayUlhgy4FJhFlKIfBj1DUYQyWEkCKapHQ23xCSHkSCpD8vmIYERVHKUUoSq85SGZZ3PMEQlRylFyKi7RMC4CxGMYJPDSBAyLeZhWW8zDPFwMCBUhywia3WLWxOD3jE6eDgYkJhmIUHMMMTWHBU1CBk5UvJnIVspYIhJDiNBJM9CgpphRJMcRoJInYWspYEhLjlKKUJVvoRZyDzUVjWq5CilCBl+BzCQHIcShMwPcRYS9AwjCTgYEKpDQpqFiAcjGjgYkBBmIb1foIOao7oG6XsWUgy3VrF4Gg0cDMhO9XMTlajhVpJwMCBdz0KiBCOqmsNSh1BR6HMWsuYaYx+jf1HDwYDQY0F+efjRomcYgON/QOgkPgIMwGEDhOqQNmYhUcwwAMdHQJrOQpIBI8pu5UgnU3cWQjOMrymBkVxyGAlyynUhYq7cQnK0kyCus5Bg7j5DcvSTIrRUTC1gjGOdYSA53FKEWtLydSHL1MFAcrxPEIKEZiFJzDBc9E+AAQBQ99BNOprhRAAAAABJRU5ErkJggg==
What is the problem in my conversion ?
Thank you !
public static String encodeTobase64(Bitmap image) {
Bitmap immagex = image;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
immagex.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] b = baos.toByteArray();
String imageEncoded = Base64.encodeToString(b, Base64.DEFAULT);
return imageEncoded;
}
public static Bitmap decodeBase64(String input) {
byte[] decodedByte = Base64.decode(input, 0);
return BitmapFactory.decodeByteArray(decodedByte, 0, decodedByte.length);
}
use the following snippet to convert bitmap to byte array:
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream);
byte[] byteArray = byteArrayOutputStream .toByteArray();
then to encode base64 from byte array use the following statement:
String encoded = Base64.encodeToString(byteArray, Base64.DEFAULT);
public String getBase64ImageString(Bitmap photo) {
String imgString;
if(photo != null) {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
photo.compress(Bitmap.CompressFormat.PNG, 100, outputStream);
byte[] profileImage = outputStream.toByteArray();
imgString = Base64.encodeToString(profileImage,
Base64.NO_WRAP);
}else{
imgString = "";
}
return imgString;
}
Pass your Bitmap in the parameters you will get your image string.

Issue in Covert from String Base64 to Bitmap

Code stuff for convert from Bitmap to String Base64
Bitmap thumbnail = extras.getParcelable("data");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
thumbnail.compress(Bitmap.CompressFormat.JPEG, 100, baos);
thumbnail.recycle();
byte[] b = baos.toByteArray();
String attachment = Base64.encodeToString(b, Base64.DEFAULT);
Code stuff for convert from String Base64 to Bitmap
byte[] encodeByte = Base64.decode(strBase64, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
imageView.setImageBitmap(bitmap);
but i get bitmap = null;
I also refer Base64 to Bitmap to display in ImageView
Thanks in advance.
// convert Bitmap to String
public static String BitMapToString(Bitmap bitmap) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] arr = baos.toByteArray();
imageData = Base64.encodeToString(arr, Base64.DEFAULT);
return imageData;
}
// Convert String to Bitmap
public static Bitmap StringToBitMap(String image) {
try {
byte[] encodeByte = Base64.decode(image, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(encodeByte, 0,
encodeByte.length);
return bitmap;
} catch (Exception e) {
e.getMessage();
return null;
}
}
You are calling thumbnail.recycle(); after loading bitmap,, either remove it or call before loading bitmap

Categories

Resources