getPixels()方法中的IllegalArgumentException

时间:2016-06-06 07:55:59

标签: android android-bitmap illegalargumentexception

我在画布上设置此位图并在使用getPixels()方法时获取此IllegalArgumentException:

  

java.lang.IllegalArgumentException:x + width必须是< =   行中的bitmap.width()

bitmap.getPixels(pixels, 0,bitmap.getWidth(), 1, 1, bitmap.getWidth(), bitmap.getHeight());

如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

异常已经告诉你错误

  

x + width必须是< = bitmap.width()

你的x和y从1开始而不是0,所以该方法计算超出界限的x + width =(1+ width)。 将x和y值设置为0,或者如果你真的想跳过每一行中的第一个像素,则将bitmap.getWidth和bitmap.getHeight()设置为" bitmap.getWidth-1"和" bitmap.getHeight() - 1"。

有关更好的解释,请参阅文档

https://developer.android.com/reference/android/graphics/Bitmap.html#getPixels(int[], int, int, int, int, int, int)