Die Verwendung von getPixels() von Android Bitmap-Klasse und wie es zu benutzen

Ich versuche zu tun, etwas Bildverarbeitung in Android.
Ich brauche, um ein Stück der pixel einer bitmap.
So habe ich versucht, verwenden Sie eine der Bitmap-Klasse Methode getPixels().
Jedoch, wie es scheint, ich bin nicht mit richtig oder verstehe ich das falsch der einzige Zweck der Methode Verhalten.

Zum Beispiel, ich mache die folgenden Schritte, um pixel-information von 10 von 10-region eine bitmap aus einer beliebigen Lage(bitmap-Koordinate) x, y.

Bitmap bitmap = BitmapFactory.decodeFile(filePath);
int[] pixels = new int[100];
bitmap.getPixels(pixels, 0, bitmap.getWidth(), x, y, 10, 10);

Und ich bin immer ArrayIndexOutOfBoundsException.
Ich habe schon Googeln, um zu sehen, was ich falsch mache, aber ich bin ratlos.
Die meisten Beispiele oder Fragen bezüglich der Verwendung von getPixels() sind in der Regel für den Fall der Extraktion von pixel-information des gesamten Bildes. Damit die Größe des int-array ist in der Regel bitmap.getWidth()*bitmap.getHeight(), x-und y-Werte sind 0, 0,, und die Breite ist die Höhe der bitmap die Breite und Höhe.

Ist Bitmap getPixels() nicht für den Zweck der meine Verwendung(immer ein Stück von pixel-Daten einer sub-region, in der die bitmap)? Oder verwende ich es falsch? Gibt es eine alternative Möglichkeit, dies zu tun, vielleicht mit einer anderen Klasse?

Ich würde es schätzen, wenn jemand etwas dazu zu sagen. Danke.

InformationsquelleAutor YoonSoo Lee | 2012-11-18
Schreibe einen Kommentar