Pixelfarben ermitteln

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
400kmh
Beiträge: 100
Registriert: Do 25. Mär 2010, 04:03

Pixelfarben ermitteln

Beitrag von 400kmh »

Hallo,

Ich möchte die Pixel eines TImage abhängig von ihrer bisherigen Farbe ändern. Wenn ich ihnen unabhängig von ihrer bisherigen Farbe, eine Frabe zuweisen wollen würde, könnte ich das einfach mit RGBToColor(r,g,b); Ich möchte aber, dass da etwas mit den bisherigen Rot, Grün und Blauanteilen, verrechnet wird. Mit welchem Befehl ermittelt man die Rot-, Grün- und Blauwerte eines Pixels?

MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: Pixelfarben ermitteln

Beitrag von MmVisual »

Mit ColorToRGB() erhält man ein 32-Bit Farbwert.
Dabei sind die Farben in 3x 8-Bits aufgeteilt.

Farbe1 := iFarbe AND $FF;
Farbe2 := (iFarbe SHR 8 ) AND $FF;
Farbe3 := (iFarbe SHR 16) AND $FF;

Welche der 3 Variablen jetzt R / G / B ist weiß ich jetzt nicht auswendig.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1623
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Pixelfarben ermitteln

Beitrag von corpsman »

Code: Alles auswählen

r := iFarbe AND $FF;
g := (iFarbe SHR 8 ) AND $FF;
b := (iFarbe SHR 16) AND $FF;
--
Just try it

400kmh
Beiträge: 100
Registriert: Do 25. Mär 2010, 04:03

Re: Pixelfarben ermitteln

Beitrag von 400kmh »

Danke

Antworten