Hallo an alle Java Profis !
Mit folgenden Zeilen ändere ich alle nicht transparenten Pixel eines Bildes (BufferedImage) in schwarz.
for (int j = 0; j < image.getWidth(); j++) {
for (int k = 0; k < image.getHeight(); k++) {
// Lies die Farbwerte eines BufferedImage-Objekts und zerlege die Rueckgabe im Bereich des Alpha-Werts.
int argb = image.getRGB(j, k);
int alpha = (argb >> 24) & 0xff;
// farbige Pixel schwarz setzen.
if (alpha != 0) {
image.setRGB(j, k, black);
}
}
}
Da ich das ganze aus der Insel habe, funktioniert es auch ;-)
Nur leider verstehe ich das ganze nicht so recht. Vor allem die Zeile:
int alpha = (argb >> 24) & 0xff;
Für alle transparenten Farben wird eine 0 zurückgegeben. Warum? Und was wird zurückgegeben wenn das Pixel nicht transparent ist?
Danke schonmal,
Kurti