# RGB: R, G und B als byte vorliegend



## Gast (18. Sep 2008)

Hallo 
Ist es möglich, von einem einzelnen Pixel (aus einem BufferedImage) die RGB's als byte zu bekommen? Mit getRGB() wird nur eine 6-stellige negative Zahl ausgespuckt.

-Danke-


----------



## musiKk (18. Sep 2008)

Entweder, du wurschtelst selbst mit Bitoperationen auf dem Pixel (der als int vorliegt?) herum oder du erstellst damit ein Color-Objekt und verwendest die Methoden getBlue/Green/Red(). Dabei erhältst du zwar kein byte, sondern ein int, aber da die Werte nur 0-255 betragen, kann es ja gefahrlos gecastet werden, nachdem Byte.MIN_VALUE draufaddiert wurde (damit es maximal 127 ist).


----------



## muckelzwerg (18. Sep 2008)

Zum Beispiel so:


```
rgb = img.getRGB(x, y);
r = ((rgb >> 16) & 0xff);
g = ((rgb >> 8) & 0xff);
b = (rgb & 0xff);
```
Alternativ kannst Du auch getRed(), getBlue() und getGreen() aus den ColorModel-Klassen verwenden.

  --  --  muckelzwerg

Edith sagt mir musiKk war schneller.


----------



## Gast (18. Sep 2008)

:applaus: Thanks, that's it!


----------

