Android取缩略图
原创
©著作权归作者所有:来自51CTO博客作者碼雲的原创作品,请联系作者获取转载授权,否则将追究法律责任
public Bitmap getThumbnailBitmap(String imagePath , int nWidth , int nHeight){
Bitmap mBitmap = null;
BitmapFactory.Options options = new BitmapFactory.Options();
if(nWidth!=0 && nHeight!=0) {//当取到控件的宽高时就按控件的比例取缩略图
options.inJustDecodeBounds = true;//不生成Bitmap对象,而仅仅是读取该图片的尺寸和类型信息
mBitmap = BitmapFactory.decodeFile(imagePath, options) ;
int hRatio = (int)Math.ceil(options.outHeight/(double)nHeight);//如果大于1表示图片的高度大于手机屏幕的高度
int wRatio = (int)Math.ceil(options.outWidth/(double)nWidth);//如果大于1表示图片的宽度大于手机屏幕的宽度
options.inSampleSize = (hRatio>wRatio)?hRatio:wRatio;
options.inJustDecodeBounds = false;
}
mBitmap = BitmapFactory.decodeFile(imagePath, options) ;
return mBitmap ;
}