Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi roten Farbwert aus TColor extrahieren ?? (https://www.delphipraxis.net/111280-roten-farbwert-aus-tcolor-extrahieren.html)

EccoBravo 1. Apr 2008 15:15


roten Farbwert aus TColor extrahieren ??
 
Hallo allerseits,

Ihr habt sicherlich meine letzte Frage gelesen?
Weiterführend darauf nun folgendes:
Wie kann ich aus einem TColor-Wert den roten Farbanteil extrahieren (RGB(rt,gn,bl)...)?
Ich will ein Image in das Rotbild, Grünbild und Blaubild zerlegen.

Danke für Hilfe

E. B.

iGoA 1. Apr 2008 15:18

Re: roten Farbwert aus TColor extrahieren ??
 
entweder
rot := (color and $ff0000) shr 16;

oder

rot := (color and $ff);

eines von beiden. ich verwechsel manchmal, in welchem Byte rot und blau gespeichert sind.

Fussball-Robby 1. Apr 2008 15:21

Re: roten Farbwert aus TColor extrahieren ??
 
@iGoA: $ff :wink:

Hier ne Prozedur für alle R, G & B..:
Delphi-Quellcode:
procedure TColor2RGB(Const Color: TColor; var R, G, B: Byte);
begin
  R := Color and $FF;
  G := (Color shr 8) and $FF;
  B := (Color shr 16) and $FF;
end;
Mfg

Kroko1999 1. Apr 2008 15:24

Re: roten Farbwert aus TColor extrahieren ??
 
Zitat:

Zitat von iGoA
entweder
rot := (color and $ff0000) shr 16;

oder

rot := (color and $ff);

eines von beiden. ich verwechsel manchmal, in welchem Byte rot und blau gespeichert sind.

(1) ist Falsch, dass ist Blau
(2) Color and $FF;

oder nimm GetRValue(Color);

Muetze1 1. Apr 2008 15:24

Re: roten Farbwert aus TColor extrahieren ??
 
Und wieso nicht die fertigen Funktionen nutzen? Also MSDN-Library durchsuchenGetRValue(), MSDN-Library durchsuchenGetGValue() und MSDN-Library durchsuchenGetBValue()?

Und ich möchte nochmal darauf hinweisen, das bestimmte Farbkonstanten welche vom aktuellen Farbschema abhängig sind (z.B. clWindow, clWindowText, clCaption, etc) keine RGB Werte enthalten! Diese erhält man definitiv nach der Funktion Delphi-Referenz durchsuchenColorToRGB(), egal welcher Art von TColor man übergibt. Ausnahme hierbei ist definitiv Delphi-Referenz durchsuchenclNone.

EccoBravo 1. Apr 2008 15:25

Re: roten Farbwert aus TColor extrahieren ??
 
Prima, danke allerseits.
Die fertigen Funktionen sinds

E. B.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz