Kurti: int alpha = (argb >> 24) & 0xff;

Beitrag lesen

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