使用BitmapFactory decodeByteArray的原始大小位图

时间:2016-06-27 14:38:25

标签: 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倍)

1 个答案:

答案 0 :(得分:1)

使用:

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

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