Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Hex to TColor (https://www.delphipraxis.net/235-hex-tcolor.html)

Tpercon 23. Jun 2002 14:44


Hex to TColor
 
Wie kann man einen HTML Farbwert (6 stellige Hex Zahl) in einen TColor Wert umwandeln?

jbg 23. Jun 2002 14:48

StringToColor('$FF0000');
Wobei die ersten 2 Stellen Blau, die zweiten Grün und die dritten Rot angeben.

Daniel B 23. Jun 2002 14:56

Zitat:

Zitat von jbg
StringToColor('$FF0000');
Wobei die ersten 2 Stellen Blau, die zweiten Grün und die dritten Rot angeben.

Von Links: Rot, Grün, Blau.

sakura 23. Jun 2002 14:58

Ich werde meine Lösung von D3K mal in die FAQ Sektion schreiben. Ist gegen 16:15 verfügbar :wink:

FERTIG!

Christian Seehase 23. Jun 2002 15:00

Moin Tpercon,

ich kann's jetzt nicht ausprobieren, aber Du kannst es mal so versuchen:

Code:
function RGBStrToColor(const p_sRGB : string) : TColor;
begin
  Result := 0;
  Result := StrToInt('$'+copy(p_sRGB,1,2)) or
           (StrToInt('$'+copy(p_sRGB,3,2)) shl 8) or
           (StrToInt('$'+copy(p_sRGB,5,2)) shl 16);
end;

function RGBToColor(const p_iRGB : integer) : TColor;
begin
  Result := 0;
  Result := ((p_iRGB and $FF0000) shr 16) or
            (p_iRGB and $FF00) or
            ((p_iRGB and $FF) shl 16);
end;
Das Problem ist ja, dass die HTML Farbwerte in der Reihenfolge RRGGBB angegeben werden, und bei TColor BBGGRR. Es müssen also zwei Bytes vertauscht werden.

jbg 23. Jun 2002 15:06

Zitat:

Zitat von Daniel B
Von Links: Rot, Grün, Blau.

Eben gerade nicht.

sakura 23. Jun 2002 15:08

Zitat:

Zitat von jbg
Zitat:

Zitat von Daniel B
Von Links: Rot, Grün, Blau.

Eben gerade nicht.

Tpercon ging es aber um HTML Farben (da steht Rot ganz links)...

jbg 23. Jun 2002 15:13

Das ist mir schon klar. Aber ich habe Daniel B's Posting so verstanden, dass er meinen Text, der sich auf die Farbreihenfolge für die Übergabe an StringToColor bezieht, verbessern wollte, wobei seine Aussage dann falsch ist.

Daniel B 23. Jun 2002 15:31

Zitat:

Zitat von sakura
Zitat:

Zitat von jbg
Zitat:

Zitat von Daniel B
Von Links: Rot, Grün, Blau.

Eben gerade nicht.

Tpercon ging es aber um HTML Farben (da steht Rot ganz links)...

Danke, so war das gemeint. Ich weiss was TPercon vor hat.

Tpercon 23. Jun 2002 17:31

Hab die Version von sakura und Christian genommen. Funktioniert perfekt.

Danke und Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:40 Uhr.

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