Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android: how to convert byte array to Bitmap?

I'm trying to convert one image from byte[] to Bitmap to show the image in the Android application.

byte[]'s value is got by database and I checked that it was not null. After that, I would like to convert the image but could not success. The program shows that Bitmap's value is null.

I think there are some problems in converting process.

If you know any tips, please show me.

byte[] image = null;
Bitmap bitmap = null;
        try {
            if (rset4 != null) {
                while (rset4.next()) {
                    image = rset4.getBytes("img");
                    BitmapFactory.Options options = new BitmapFactory.Options();
                    bitmap = BitmapFactory.decodeByteArray(image, 0, image.length, options);
                }
            }
            if (bitmap != null) {
                ImageView researcher_img = (ImageView) findViewById(R.id.researcher_img);
                researcher_img.setImageBitmap(bitmap);
                System.out.println("bitmap is not null");
            } else {
                System.out.println("bitmap is null");
            }

        } catch (SQLException e) {

        }
like image 920
Benben Avatar asked Jul 23 '12 13:07

Benben


1 Answers

use below line to convert bytes into Bitmap, it is working for me.

  Bitmap bmp = BitmapFactory.decodeByteArray(imageData, 0, imageData.length);

you need to put above line outside of loop, as it takes Bytes Array and convert into Bitmap.

P.S. :- here imageData is bytes array of Image

like image 121
AAnkit Avatar answered Oct 19 '22 19:10

AAnkit