我有来自服务器的1024 x 900图像。我想得到这张图片的一半。
我使用此代码
img.setImageBitmap(Bitmap.createBitmap(bitmap,0,bitmap.getWidth()/2, bitmap.getWidth(), bitmap.getHeight()/2));
但是当我这样做时,我有这个错误
y+height must be <=bitmap.getHeight
这里我应该做什么没有得到例外。
答案 0 :(得分:2)
参数应该是位图,起始x和y,宽度和高度。然后尝试:
img.setImageBitmap(Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth() / 2, bitmap.getHeight() / 2));
答案 1 :(得分: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));