![]() |
Webfarben nutzen
Hallo, kann man eigendlich die Webfarben (z.B. #111111) direkt nutzen? Wenn ich z.B. die Farben in einer .Ini angeben möchte und dann für Font.color etc...?
|
Re: Webfarben nutzen
Die musst du dann wohl parsen.
Delphi-Quellcode:
Das müsste klappen.
function HTMLColorToColor(Color: String): TColor;
begin Result:=StringToColor('$00'+color[6]+color[7]+color[4]+color[5]+color[2]+color[3]); end; |
Re: Webfarben nutzen
Alles OK. Es funktioniert prima !Danke !
|
Re: Webfarben nutzen
Bittesehr. Es gäbe noch eine permormantere Lösung ohne StringToColor, aber das hier ist eindeutig leichter.
|
Re: Webfarben nutzen
Zitat:
|
Re: Webfarben nutzen
Na schön, ich versuche es. Aber das ist halt etwas schwerer.
Delphi-Quellcode:
Getestet und: Überraschung, es funktioniert. Perfekt. Ich bekomme schon langsam Angst vor mir selber. :shock:
function HexNumberToDec(AValue: Char): Cardinal;
begin case AValue of '0'..'9': Result:=ord(AValue)-48; 'A'..'F': Result:=ord(AValue)-55; end; end; function HTMLColorToColor(Color: String): TColor; begin Result:=HexNumberToDec(Color[2])+HexNumberToDec(Color[3])*16+HexNumberToDec(Color[4])*256+ HexNumberToDec(Color[5])*4096+HexNumberToDec(Color[6])*65536+HexNumberToDec(Color[7])*1048576; end; Naja oder so ähnlich. Wenn irgendjemand den Algorithmus oben noch tunen kann, dann bitte ich um Verbesserung. |
Re: Webfarben nutzen
Ich habs jetzt nich getestet, weil ich gleich zum Bus muss (diese elende Schule aber auch... :evil: :mrgreen:) Aber irgendwie kann ich mir nicht vorstellen, dass deine Lösung performanter ist? Kann aber auch ein subjektiver Eindruck sein... Werds heute Nachmittag mal testen! :)
mfg, mh166 |
Re: Webfarben nutzen
Ansonsten findest Du in der
![]() ...:cat:... |
Re: Webfarben nutzen
Hallo,
ich weiß nicht, ob Delphi das automatisch macht, aber man sollte lieber Shiften. Multiplikation ist immer etwas langsam:
Delphi-Quellcode:
Gruß
function HexNumberToDec(AValue: Char): Cardinal;
begin case AValue of '0'..'9': Result := Ord(AValue) - 48; 'A'..'F': Result := Ord(AValue) - 55; 'a'..'f': Result := Ord(AValue) - 87; // <- Kleinbuchstaben vergessen end; end; function HTMLColorToColor(const Color: String): TColor; begin Result := HexNumberToDec(Color[2]) + HexNumberToDec(Color[3]) shl 4 + HexNumberToDec(Color[4]) shl 8 + HexNumberToDec(Color[5]) shl 12 + HexNumberToDec(Color[6]) shl 16 + HexNumberToDec(Color[7]) shl 20; end; xaromz |
Re: Webfarben nutzen
Wahrscheinlich wird das eh zu shl durch Compilermagic.
Aber an shiften habe ich jetzt gar nicht gedacht. Hab ich vergessen. Aber performanter als mit dem Stringrumgefummel ist es wahrscheinlich schon. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:15 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 by Thomas Breitkreuz