No, not x must be < bitmap.width()
. It says x + width must be <= bitmap.width()
.
You are creating a Bitmap
like so:
Bitmap.createBitmap(source, 60, 0, 480, 260); // 320 - 60 = 260
Basically, you are drawing from x = 60, y = 0
to x = 480 + 60, y = 260
on a Bitmap
which is only 480x320. Obviously, this is not possible, since your x
coordinate is off the Bitmap
.
It's hard to tell you how to fix this without knowing your exact use case. Basically, your source
image has to fit within { x1: x, x2: x + width, y1: y, y2: y + height }
.
If you only want to draw from the 60th pixel onward, then you need to do this:
Bitmap.createBitmap(source, vListView.getWidth(), 0, width - vListView.getWidth(), height - hListView.getHeight());
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…