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) 

так, вы должны указать х и у начальной точки, а также ширину и высоту прямоугольника, который вы хотите.

если вы хотите верхнюю половину, вы используете:

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() в 4-ом параметре –

Смежные вопросы