Rückgabewert Pixelgrabber

DerKaefer

Mitglied
Hallo

Ich versuche Ein Bild mit dem Pixelgrabber auszulesen und glaube ich hab da was nicht richtig verstanden

wenn ich ein Bild einlese dass NUR blau ist und zwar ein Blau dass tatsächlich (0,0,255) ist dann müsste mir der Pixelgrabber doch den Integerwert 255 zurückliefern

wenn ich ein Bild einlese dass NUR gruenist und zwar ein Gruen dass tatsächlich (0,255,0) ist dann müsste mir der Pixelgrabber doch den Integerwert 255>>8=65280 zurückliefern

jetzt habe ich paint genommen, habe ein Bild mit rot gefüllt und den Wert -1237980 erhalten.
Also gehe ich davon auss dass der Wert des Pixels, die -1237980, die Farbcodierung meines Roten Bildes ist.

Wenn ich mich jetzt hinsetze und

System.out.println(-1237980>>24);
System.out.println(-1237980>>16);
System.out.println(-1237980>>8);
System.out.println(-1237980&255);

eingebe erhalte ich:

-1(alpha)
-19(rot)
-4836(gruen)
36(blau)

Wo ist mein Denkfehler?
 
Du musst jede Eigenschaft [c]& 0xff[/c] rechnen. Aber auch da kriegst du mit diesem Wert kein reines Rot 😉
Code:
a: 255
r: 237
g: 28
b: 36
 
Du musst jede Eigenschaft [c]& 0xff[/c] rechnen. Aber auch da kriegst du mit diesem Wert kein reines Rot 😉
Code:
a: 255
r: 237
g: 28
b: 36


Ich denke das passt schon. Evtl nimmt paint kein reines Rot sondern eine Mischung. Dass mit der UNDverknüpfung verstehe ich allerdings nicht.

wenn du ein reines rot nimmst und das in einen Integer Wert codierst dann müsste der Wert doch die 255<<16 also 16711680 sein bzw 11111111.00000000.00000000.

shiftest du dann wieder nach rechts müsstest du doch einfach wieder die 11111111 also die 255 respektive den Rotanteil haben?

Das das nicht ganz so ist habe ich mir vorhin schon gedacht als ich die negative Zahl angezeigt bekommen habe.
 

Zurück
Oben