【问题标题】:Set a bitmap image in ImageView在 ImageView 中设置位图图像
【发布时间】:2018-12-10 07:20:29
【问题描述】:

我试过了

try {
        byte[] decodedString = Base64.decode(repPlus, Base64.URL_SAFE);
        Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
        holder.imageView.setImageBitmap(decodedByte);
    } catch (Exception e) {
        Log.d("Error: ", e.getMessage());
    }

它返回一个错误:

bad base-64

然后我尝试了这个Bad base-64 error。它消除了错误。 Base64 to Bitmap to display in ImageView 用于解码 base64 字符串

try {
        String repSlash = product.getImage().replace("/", "_");
        String repPlus = repSlash.replace("+", "-");
        byte[] decodedString = Base64.decode(repPlus, Base64.URL_SAFE);
        Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
        holder.imageView.setImageBitmap(decodedByte);
    } catch (Exception e) {
        Log.d("Error: ", e.getMessage());
    }

但图像无法在应用程序中查看。

【问题讨论】:

    标签: java android bitmap imageview base64


    【解决方案1】:

    在初始化位图后尝试这样做decodedByte

    BitmapDrawable drawable = new BitmapDrawable(getResources(), decodedByte);
    holder.imageView.setBackgroundDrawable(drawable);
    

    编辑:试试这个:

    String base64Image = product.getImage().split(",")[1];
    
    byte[] decodedString = Base64.decode(base64Image, Base64.DEFAULT);
    Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
    
    holder.imageView.setImageBitmap(decodedByte);
    

    希望对您有所帮助!

    【讨论】:

    • 我遇到了 getResources() 的问题。我在一个适配器类。这样可以吗?
    • 然后在Adapter构造函数中添加一个Context变量,然后做like,BitmapDrawable drawable = new BitmapDrawable(context.getResources(), decodedByte);
    • 如果找到解决办法我会再发帖
    • @MikaelFaire 您能否重新检查您的 Base64 字符串,因为如果您进行正确的转换,这应该可以工作。进一步检查holder.imageview是否设置清晰。
    • 我的base64字符串是这样的“data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCE.......”
    猜你喜欢
    • 2020-11-16
    • 1970-01-01
    • 1970-01-01
    • 2015-10-18
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多