如何在Android中将图像转换为字符串? [英] How to convert image to string in Android?

查看:101
本文介绍了如何在Android中将图像转换为字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

其编码:-

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;
}

这是解码:-

String img=o.toString();
   byte[] imageAsBytes = Base64.decode(img.getBytes(), Base64.DEFAULT);
 imageView.setImageBitmap(BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length));

谢谢.

推荐答案

可以通过

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);
}

并进行解码

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);
}

这篇关于如何在Android中将图像转换为字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆