Bitmap bitmap = null;
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inJustDecodeBounds = true;
BitmapFactory.decodeFile(filePath, opts);
opts.inSampleSize = computeSampleSize(opts, -1, 128*128);
opts.inJustDecodeBounds = false;
try {
bitmap = BitmapFactory.decodeFile(filePath, opts);
}catch (Exception e) {
// TODO: handle exception
}
inSampleSize
根据字面意思,输入的采样大小。这个值越大,说明压缩比越高。但是图片质量越低。
在获取到图片的参数信息opts后,根据opts中图片的信息,如:长宽、文件大小、压缩参数等计算得到相应的图片采样率
Android图片 BitmapFactory.Options.inSampleSize 采样率不准确问题 与 LZ 提供的算法是一样的。
采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率的倒数是采样周期或者叫作采样时间,它是采样之间的时间间隔。通俗的讲采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。
所以,采样率越高,效果越好;否则,效果越差。无论是图片,音频等。