Pixelwerte auslesen

Hi,

ich versuche mich gerade an einem Programm in dem Bilder gebuffert werden müssen und dann per getRGB(x, y); die RGB werte von verschiedenen Pixeln gesaugt werden sollen.
Momentan läuft das ganze noch mit AWT BufferedImage und getRGB(x,y); . Ich müsste das ganze aber auf SWT umstellen, da die Umgebung in der das ganze laufen soll nich mit AWT umgehen kann.
Nun habe ich die letzten Stunden das SWT Summary durchschaut um die Antwort zu bekommen, wie ich die Farben auslesen kann.
Das Buffern lässt sich ja wohl mit Image machen, nur mit dem Auslesen aus Pixeln hab ich noch kein Glück gehabt. Kann mir da jemand von euch auf die Sprünge helfen, wie ich die RGB Werte von Pixel x * y mit SWT auslesen kann?
Mit
int pixel = imageData.getPixel(10, 20);
bekomm ich 13225092 den Wert raus, mit dem ich aber irgendwie nix anfangen kann. Ich weiss auch nicht, ob ich daraus die einzelnen Kanäle rauslesen muss, mit pixel.getGreen(); funtzt es leider nicht, da bekomm ich „Cannot invoke getGreen() on the primitive type int“ als Medlung.

Gruß Torsten

Hallo!

Nun habe ich die letzten Stunden das SWT Summary durchschaut
um die Antwort zu bekommen, wie ich die Farben auslesen kann.

Ich hab von SWT kein Ahnung, aber wenn ich nach danach und nach getPixel() gugle, finde ich häufig sowas:

int pixel = data.getPixel(x, y);
RGB rgb = palette.getRGB(pixel);
pixelArray[0] = rgb.red;
pixelArray[1] = rgb.green;
pixelArray[2] = rgb.blue;

Vielleicht hilft Dir das ja weiter.

Jan

Hi,

vielen Dank, dein Hinweis in verbidnung mit dem: http://dev.eclipse.org/newslists/news.eclipse.platfo…
Eintrag in der Eclipse Mailingslist hat mich drauf gebracht.

Das ganze muss am Ende so aussehen:

ImageData imagedata = new ImageData("./edge.jpg");

int pixel = imagedata.getPixel(20, 20);
PaletteData palette = imagedata.palette;
RGB rgb = palette.getRGB(pixel);

int red = rgb.green;

Dann funtzt es. Nochmal vielen Dank.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]