使用 BitmapFactory decodeByteArray 的原始大小位图

Original size bitmap using BitmapFactory decodeByteArray

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

    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... 我多年来一直在使用该代码,它对我来说非常有用。