![]() |
Farbwert
Hallo,
Um gleich zu meinem Problem zu kommen: Ich habe eine Farbe in einer Variable vom Typ TColor gegeben (wird aus einem Bild vom Typ TBitmap eingelesen), diese möchte ich nun in einen Hexadezimalen Farbwert umwandeln. Und jetzt möcht ich den Hexadezimalen Farbwert in einer HTML Datei ausgeben (natürlich direkt in der Farbe eingefärbt), doch leider gibt es hierbei immer Farbdreher und die Farben stimmen nicht überein ... Rot wird zu Blau, Blau zu Rot usw. Meine (bzw. ich glaub die hat Sakura hier irgendwo im Forum gepostet) ColorToHex Funktion
Delphi-Quellcode:
Hat jemand eine Idee wie ich diese Farbdreher vermeiden kann?
function ColorToHex(Col: TColor): String;
begin Result := '#' + IntToHex(Integer(Col), 8); end; MFG Maximus |
Re: Farbwert
Also Delphi und HTML haben eine andere Reinfolge bei den Farbwerten (wenn ich das noch richtig weiß), also muß das 1. und 3. Byte getauscht werden.
RGB <> BGR
Delphi-Quellcode:
function ColorToHex(Col: TColor): String;
begin Result := '#' + IntToHex(Byte(Col), 2) + IntToHex(Byte(Col shr 8), 2) + IntToHex(Byte(Col shr 16), 2); end; |
Re: Farbwert
Hi,
das sollte inhaltlich dem Code vom "Vorposting" entsprechen:
Delphi-Quellcode:
GetRValue etc. liefert den jeweiligen Rot-/Grün-/Blau-Anteil einer Farbe, zu finden in der Unit Windows. ColorToRGB wandelt Konstanten wie clBtnFace etc. in Farbwerte um, siehe OH. ;)
result := '#' + IntToHex(GetRValue(ColorToRGB(Col), 2) +
IntToHex(GetGValue(ColorToRGB(Col), 2) + IntToHex(GetBValue(ColorToRGB(Col), 2); Gruß Stephan :dance: |
Re: Farbwert
Moin!
Hinter col 2x Klammer zu und es stimmt... MfG Muetze1 |
Re: Farbwert
Zitat:
Gruß Stephan :dance: |
Re: Farbwert
@Steve: Klar kenn ich diese "netten Funktionen, allerdings weigere ich mich wehement gegen "sinnlose" Funktionen.
Wozu soll das Programm 'ne Funktion aufrufen (mit Parameterübergaber, Sprüngen...), wenn es ein einfaches Shift auch macht :zwinker: OT: Außerdem lernt man auf diese Weiße auch gleich mal den Aufbau verschiedenster Datentypen kennen, was ja in diesem Fall eventuell sogar zu einer selbstständigen Lösung hätte führen können :angel2: |
Re: Farbwert
Zitat:
Ich wollte eigentlich nur demonstrieren, was dahinter steckt, denn nicht jeder weiß, was ![]() Gruß Stephan :dance: |
Re: Farbwert
Hallo,
Danke! Es funktioniert nun! MFG Maximus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:30 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