Here you can find the source of decodeToCompressedByteArray(String imageUri)
public static byte[] decodeToCompressedByteArray(String imageUri)
//package com.java2s; //License from project: MIT License import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import android.graphics.Bitmap; import android.graphics.BitmapFactory; public class Main { public static byte[] decodeToCompressedByteArray(String imageUri) { Bitmap bitmapOrg = BitmapFactory.decodeFile(imageUri); ByteArrayOutputStream bao = new ByteArrayOutputStream(); //system only stores JPG bitmapOrg.compress(Bitmap.CompressFormat.JPEG, 99, bao); byte[] ba = bao.toByteArray(); return ba; }/*from ww w .j a v a 2 s. com*/ @SuppressWarnings("unused") private Bitmap decodeFile(File f) { try { //decode image size BitmapFactory.Options o = new BitmapFactory.Options(); o.inJustDecodeBounds = true; BitmapFactory.decodeStream(new FileInputStream(f), null, o); //Find the correct scale value. It should be the power of 2. final int REQUIRED_SIZE = 70; int width_tmp = o.outWidth, height_tmp = o.outHeight; int scale = 1; while (true) { if (width_tmp / 2 < REQUIRED_SIZE || height_tmp / 2 < REQUIRED_SIZE) break; width_tmp /= 2; height_tmp /= 2; scale *= 2; } //decode with inSampleSize BitmapFactory.Options o2 = new BitmapFactory.Options(); o2.inSampleSize = scale; return BitmapFactory.decodeStream(new FileInputStream(f), null, o2); } catch (FileNotFoundException e) { } return null; } }