2013-12-19 27 views
2

我有1024 x 900圖像來自服務器。我想獲得這個圖像的一半。圖像調整大小不適用於Android

我使用此代碼

img.setImageBitmap(Bitmap.createBitmap(bitmap,0,bitmap.getWidth()/2, bitmap.getWidth(), bitmap.getHeight()/2)); 

但我做到這一點時,我有這個錯誤

y+height must be <=bitmap.getHeight 

我應該怎麼做這裏沒有得到例外。

回答

1

但是,使用該值,您可以獲得圖像的意外部分,或者更可能出現錯誤。

如果選中docs of the function你可以看到這個簽名:

createBitmap(Bitmap source, int x, int y, int width, int height) 

所以,你必須標明起始點的x和y,以及寬度和高度你想要的矩形。

,如果你想上半部分,你使用:

img.setImageBitmap(Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth() , bitmap.getHeight()/2)); 

,如果你想下半年,您可以使用:

img.setImageBitmap(Bitmap.createBitmap(bitmap, 0, bitmap.getHeight()/2, bitmap.getWidth() , bitmap.getHeight()/2)); 
+0

謝謝你的幫助,但我需要的不是前半部分的後半部分。我想你明白我的意思。 – pmb

+0

看看更新 –

+0

相當不錯的答案......非常感謝你。 – pmb

2

參數應該是位圖,起始x和y,寬度和高度。然後嘗試:

img.setImageBitmap(Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth()/2, bitmap.getHeight()/2)); 
+0

我要保持圖像的寬度大小,但高度必須是半。 – pmb

+0

只需在第四個參數中設置bitmap.getWidth() –