AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Color zu Hex

Ein Thema von lhmultimedia · begonnen am 8. Mai 2007 · letzter Beitrag vom 8. Mai 2007
Antwort Antwort
lhmultimedia
(Gast)

n/a Beiträge
 
#1

Color zu Hex

  Alt 8. Mai 2007, 12:27
Hallo.
Ich wollte mal fragen wie ich aus einer Color-Variable (z.b. clWhite) einen Wert als HEX-Farbe (z.b. #ffffff, also wie im HTML Body Bgcolor-Tag) erhalten kann.
Freu mich schon mal im voraus auf Antworten.
LHMultimedia
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.759 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Color zu Hex

  Alt 8. Mai 2007, 12:36
Mit IntToHex(clWhite,6) bekommst Du den RGB hexWert der Farbe.
Welcher aber nicht der Farbpallette von HTML netspricht.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Color zu Hex

  Alt 8. Mai 2007, 12:38
warum entspricht der nicht der Farbpalette von HTML? inzwischen verarbeiten browser eigentlich alle Farbwerte. Bei clWhite solltest du zuvor jedoch ColorToRGB aufrufen
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.291 Beiträge
 
Delphi 12 Athens
 
#4

Re: Color zu Hex

  Alt 8. Mai 2007, 12:42
TColor ist "nur" ein Integer, welcher in den unteren 3 Bytes die Farbinformationen enthält ... siehe Delphi-Referenz durchsuchenTColor

Demnach brauchst du deises z.B. nur mit IntToHex umzuwandeln.

Allerdings ist die Farbreinfolge (RGB) in Delphi andersrum, als in "HTML".

Also mußt du noch die Bytes tauschen.

$00RRGGBB <> $00BBGGRR

[add]
aha, doch shcon antworten.

Für clWhite ist ColorToRGB nicht notwendig, da dieses die Farbwerte schon enthält, allerdings für die Konstanden der Systemfarben (z.B. clBtnFace) wäre es notwendig (na ja .. schaden kann ColorToRGB aber och nicht).
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
lhmultimedia
(Gast)

n/a Beiträge
 
#5

Re: Color zu Hex

  Alt 8. Mai 2007, 16:46
Danke für die schnellen Antoworten!
LHMultimedia!
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Color zu Hex

  Alt 8. Mai 2007, 17:23
bei DelphiWorks gibts ne function dafür

Delphi-Quellcode:
function dwColorToHTMLColor(const Color: TColor): String;
var
   iR, iG, iB: Byte;
begin
   iR:= GetRValue(Color);
   iG:= GetGValue(Color);
   iB:= GetBValue(Color);
   result:= Format('#%.2x%.2x%.2x', [iR, iG, iB]);
end;
Dominik
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.291 Beiträge
 
Delphi 12 Athens
 
#7

Re: Color zu Hex

  Alt 8. Mai 2007, 18:03
^^

Delphi-Quellcode:
Function ColorToHTMLColor(Color: TColor): String;
  Begin
    Color := ColorToRGB(Color);
    Result := Format('#%.2x%.2x%.2x', [GetRValue(Color),
      GetGValue(Color), GetBValue(Color)]);
  End;

// oder

Function ColorToHTMLColor(Color: TColor): String;
  Begin
    Color := ColorToRGB(Color);
    Color := ((Color shl 16) and $FF0000) or (Color and $00FF00)
      or ((Color shr 16) and $0000FF);
    Result := '#' + IntToStr(Color, 6);
  End;

// ...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:19 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