2 china hgb china_hgb 于 2016.02.06 07:07 提问

inSampleSize的参数是怎么计算出来的?它有什么用?
 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  
} 

3个回答

caozhy
caozhy   Ds   Rxr 2016.02.06 07:36
已采纳

inSampleSize
根据字面意思,输入的采样大小。这个值越大,说明压缩比越高。但是图片质量越低。

91program
91program   Ds   Rxr 2016.02.06 08:45

在获取到图片的参数信息opts后,根据opts中图片的信息,如:长宽、文件大小、压缩参数等计算得到相应的图片采样率

91program
91program   Ds   Rxr 2016.02.06 09:34

Android图片 BitmapFactory.Options.inSampleSize 采样率不准确问题 与 LZ 提供的算法是一样的。

采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率的倒数是采样周期或者叫作采样时间,它是采样之间的时间间隔。通俗的讲采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。
所以,采样率越高,效果越好;否则,效果越差。无论是图片,音频等。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!