2012-05-15 89 views
0

我的如下代碼:如何獲得縮略圖如micro_kind

Bitmap getPreview(String path, int THUMBNAIL_SIZE) { 
BitmapFactory.Options bounds = new BitmapFactory.Options(); 
bounds.inJustDecodeBounds = true; 
BitmapFactory.decodeFile(path, bounds); 
if((bounds.outWidth == -1) || (bounds.outHeight == -1)) { 
return null; 
} 

int originalSize = (bounds.outHeight > bounds.outWidth) ? bounds.outHeight : bounds.outWidth; 

BitmapFactory.Options opts = new BitmapFactory.Options(); 
opts.inSampleSize = originalSize/THUMBNAIL_SIZE; 

return BitmapFactory.decodeFile(path, opts);  
} 

但這代碼只可以得到與原相同的比例。
我想獲得96 * 96如micro_kind縮略圖,但不使用micro_kind。
我該如何修改它?

回答

1

我得到下面的代碼答案:

Bitmap sourceBitMap = BitmapFactory.decodeFile(p, opts);  
sourceBitMap = ThumbnailUtils.extractThumbnail(sourceBitMap, 96, 96); 
+0

非常有用! XD – KryNaC

1

你試過Bitmap#createScaledBitmap

例子:

Bitmap scaled = Bitmap.createScaledBitmap(sourceBitMap, 96, 96, false) 
+0

但這種情況將會改變比例。 – brian

+0

我想將500 * 250改爲192 * 96.然後將縮放比例切換爲96 * 96。 – brian

+0

比如CENTER_CROP顯示。 – brian