开发者

Android code to convert base64 string to bitmap

Hi stackoverflow team i have a problem in converting base64 string to bitmap in android. I am using the camera to fetch the i开发者_运维百科mage and i am convert the image to base64 string to post to the server. I want to show that image in the imageview so how can i show the image in the ImageView after fetching the image from the camera. please help me to solve the problem.


Assuming that your image data is in a String called myImageData, the following should do the trick:

    byte[] imageAsBytes = Base64.decode(myImageData.getBytes(), Base64.DEFAULT);
    ImageView image = (ImageView)this.findViewById(R.id.ImageView);
    image.setImageBitmap(
            BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length)
    );

For Base64 decoding, you can use http://iharder.sourceforge.net/current/java/base64/ as Android doesn't contain Base64-support prior to 2.2.

Note, I didn't actually run this code, so you'll have to doublecheck for errors.


EDIT: Accepted post has now been updated to copy my answer below, either are correct

The accepted answer is not correct at least in JellyBean, KitKat or Lollipop. You should use the following which works for JPEG, PNG or GIF images.

byte[] imageAsBytes = Base64.decode(myImageData.getBytes(), Base64.DEFAULT);
ImageView image = (ImageView)this.findViewById(R.id.ImageView);
image.setImageBitmap(
        BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length)
);


Write down the Simple method pass the Base64 String and it will return the Bitmap object

Bitmap Base64ToBitmap(String myImageData)
    {
        byte[] imageAsBytes = Base64.decode(myImageData.getBytes(),Base64.DEFAULT);
        return BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length);
    }
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜