我想将数据从 Bitmap 复制到int[]
using getPixels()
,这是我当前的代码:
int[] pixels = new int[myBitmap.getHeight() * myBitmap.getWidth()];
myBitmap.getPixels(pixels, 0, myBitmap.getWidth(), 0, 0,
myBitmap.getHeight(), myBitmap.getWidth());
for(int i = 0; i < myBitmap.getHeight() * myBitmap.getWidth(); i++) {
Log.e(TAG, "pixel"+i+"" +pixels[i]);
}
但它抛出了一个异常:
05-04 20:24:08.281: ERROR/AndroidRuntime(5700): Uncaught handler: thread main exiting due to uncaught exception
05-04 20:24:08.296: ERROR/AndroidRuntime(5700): java.lang.IllegalArgumentException: y + height must be <= bitmap.height()
05-04 20:24:08.296: ERROR/AndroidRuntime(5700): at android.graphics.Bitmap.checkPixelsAccess(Bitmap.java:818)
05-04 20:24:08.296: ERROR/AndroidRuntime(5700): at android.graphics.Bitmap.getPixels(Bitmap.java:771)
05-04 20:24:08.296: ERROR/AndroidRuntime(5700): at com.tecmark.Jjilapp$TouchView.onDraw(Jjilapp.java:206)
有任何想法吗?我刚刚将 y 参数指定为 0。