java - 使用 BitmapFactory 解码字节数组的原始大小位图

标签 java android android-bitmap bitmapfactory

如何从字节数组构造原始大小的位图?

    byte[] imageAsBytes = Base64.decode(b64.getBytes(), Base64.DEFAULT);
    BitmapFactory.Options options = new BitmapFactory.Options();
    options.inScaled = false;
    options.inSampleSize = 1;
    return BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length, options);

问题是创建的位图比原始位图小几倍(cca 3倍)......

最佳答案

用途:

BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inDensity = DisplayMetrics.DENSITY_DEFAULT;
opt.inTargetDensity = DisplayMetrics.DENSITY_DEFAULT;
opt.inScaled = false;

根据文档,它应该仅与 opt.inScaled=false 一起使用,但这毕竟是 Android ...... 我已经使用该代码很多年了,它非常适合我。

关于java - 使用 BitmapFactory 解码字节数组的原始大小位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38056797/

相关文章:

Android:BitmapFactory.decodeResource(r,id) - 显示 NPE 以从可绘制对象解码图像

java - Android - 如何垂直连接两个相同宽度的位图?

java - 无法让 HTMLUnit 跟踪使用 __doPostBack() 函数的页面上的链接

java - 集成测试的数据加载和数据库初始化策略

java - 这里的beanInterface指的是什么?

android - Android Map v2 的发布 key 是什么?它是如何产生的?

java - 如何获取ListView中被点击项目的路径

java - Android 围绕中心旋转位图而不调整大小

java - Android Studio "Canvas: trying to draw too large bitmap"问题

java - 在实例化时将 ArrayList<Boolean> 的所有值设置为 false