如何在Android中将图像转换为字符串

如何在Android中将图像转换为字符串

It's my MySql DB android - 如何在Android中将图像转换为字符串?-LMLPHP
其编码:-

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 - 如何在Android中将图像转换为字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41396194/

10-11 11:28