Kann mir jemand die Art und Weise erklären setPixel()
Methode funktioniert in Android? Ich versuche, einige Pixel in einer Bitmap zu ersetzen. Ich extrahiere sie mit der Methode getPixel()
und ihre individuellen Farben, z. green = Color.green(a[i][j]);
, aber ich kann sie keine neuen Werte zurück setzen, um das verarbeitete Bild auf dem Bildschirm zu zeigen.Probleme mit setPixel() -Methode
Bearbeiten: Dies ist, wo einige der Verarbeitung auftritt. Ich versuche, algorithmisch
for (int i = 0; i < grayWidth; i++) {
for (int j = 0; j < grayHeight; j++) {
a[i][j] = myImage.getPixel(i, j);
red = Color.red(a[i][j]);
green = Color.green(a[i][j]);
blue = Color.blue(a[i][j]);
gray = (red + green + blue)/3;
a[i][j] = gray;
}
}
und ersetzen Sie dann Pixel in Graustufen zu umwandeln:
for (int m = 0; m < grayHeight; m++) {
for (int n = 0; n < grayWidth; n++) {
grayScale.setPixel(m, n, a[m][n]);
}
}
und zeigen schließlich auf dem Bildschirm
imageView.setImageBitmap(grayScale);
Es tut uns nicht gründlich in erster Linie erklären/
Was ist die Fehlermeldung? Und Teile des Codes, wo Sie die Pixel erhalten und einstellen. –
@DavidK Das verarbeitete Bild ist einfach nicht da. Die App verarbeitet sie, aber das Endergebnis wird nicht auf dem Bildschirm angezeigt, wenn drawBitmap verwendet wird. –
Verwenden Sie die try/catch-Klausel, um die Ausnahmen abzufangen? Sie stürzen Ihre App möglicherweise nicht ab, können jedoch weiterhin auftreten. Gib uns auch einen Code .. –