Bitmap compress doesn't changing bitmap byte size
android, bitmap
Solution
Following is the code for reducing the bitmap size and convert it to base64,
Bitmap newBitmap = Bitmap.createScaledBitmap(bitmap, 50, 50, true);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
newBitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] byteArray = baos.toByteArray();
String imageEncoded = Base64.encodeToString(byteArray, Base64.DEFAULT);
Log.e("Base 64 String", imageEncoded);
Problem
I'm trying to reduce bitmap size by using compress method. This is my code: ``` public Bitmap compressImage(Bitmap image) { Bitmap immagex = image; ByteArrayOutputStream baos = new ByteArrayOutputStream(); Log.i("before compress", immagex.getByteCount()+""); boolean compress = immagex.compress(Bitmap.CompressFormat.JPEG, 10, baos); if(compress) Log.i("after compress", immagex.getByteCount()+""); else Log.i("bad compress", "bad compress"); return immagex; } ``` When i check my logs i get: ``` 11-28 11:10:38.252: I/before compress(2429): 374544 11-28 11:10:38.262: I/after compress(2429): 374544 ``` Why is the compress does not work? UPDATE: I tried this code: ``` public Bitmap compressImage(Bitmap image) { Bitmap immagex = image; ByteArrayOutputStream baos = new ByteArrayOutputStream(); Log.i("before compress", immagex.getByteCount()+""); boolean compress = immagex.compress(Bitmap.CompressFormat.JPEG, 10, baos); Log.i("after compress 2", decodeSampledBitmapFromByte(image.getWidth(), image.getHeight(), baos.toByteArray()).getByteCount()+""); return immagex; } ``` Still the same byte count ``` 11-28 11:33:04.335: I/before compress(3472): 374544 11-28 11:33:04.395: I/after compress 2(3472): 374544 ```