Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Farbe aufhellen (https://www.delphipraxis.net/28522-farbe-aufhellen.html)

Hansa 25. Aug 2004 19:51


Farbe aufhellen
 
Hi,

wie kann ich Farben etwas heller machen ? Ich habe gesehen, daß sie so definiert sind :

$000080 (clMaroon). Das ist mir aber zu dunkel. 8)

FAlter 25. Aug 2004 20:24

Re: Farbe aufhellen
 
Dann nimm doch z. B. $4040C0 - einfach den HEX-Wert erhöhen, $BBGGRR, also immer 1 Byte pro Farbe RGB

fiasko 25. Aug 2004 20:30

Re: Farbe aufhellen
 
Hallo,

also das RGB Farbmodell eignet sich i.A. nicht für solche Sachen. Wenn man die Farbe aber z.B. in das YUV Modell (Y~Helligkeit, U+V~Farbton) umrechnet kann man einfach den Helligkeitsanteil erhöhen.

[edit]
Ganz gute Info's gibt's hier: YUV-Farbmodell - Wikipedia
[/edit]

Hansa 25. Aug 2004 20:59

Re: Farbe aufhellen
 
wenn ich das richtig sehe sind HEX-Farbwerte 8-stellig.

also nicht $000080 sondern
$XX000080, wobei XX = Helligkeit. Stimmt das ? :gruebel: Außerdem hat jemand mal hier im Forum ein Programm gepostet, das die Hex-Werte angezeigt hat. Weiß wer noch wo das war ?

jfheins 25. Aug 2004 21:21

Re: Farbe aufhellen
 
Soweit ich weiß (Webdesign) sind Hex-Werte 6-Stellig (je 2 für RGB).

um #000080 aufzuhellen fügt man einfach von jeder Farbe etwas hinzu.

Also z.B. #101090

fiasko 25. Aug 2004 21:31

Re: Farbe aufhellen
 
Zitat:

Zitat von jfheins
um #000080 aufzuhellen fügt man einfach von jeder Farbe etwas hinzu.

Also z.B. #101090

Das ist definitiv FALSCH (außer du hast kein menschliches Auge).

Das geht mit RGB nicht. Nimm mal den Windoof Standard Farbdialog (starte Paint, Doppelklick auf ne Farb, "Farbe definieren klicken): eine Farbe die nicht Grau ist auswählen und dann rechts den Helligkeitsbalken verschieben und staunen was die Werte unten (RGB und YUV) machen!

Keldorn 25. Aug 2004 21:37

Re: Farbe aufhellen
 
wie fiasko angesprochen hat, machs mit yuv- oder hls farbmodell. Wenn du dort die farben heller/dunkler machst, behalten sie ihre "Farbe" und gehen nicht in ein grau über.
Delphi unterstützt auch das HLS-farbmodell, das ist in der Hilfe blöderweise überhaut nicht erwähnt. Für leute ohne Pro ist das ein wenig ungünstig, da sie die sourcen nicht haben.
Ich find insbesondere coloradjustmentluma toll, die nur die Helligkeit verändert. die 20 gibt die Helligkeitsänderung an, - wenns dunkler werden soll und colortorgb nicht vergessen
Delphi-Quellcode:
uses graphutil !
blabla.Color:=ColorAdjustLuma(colortorgb(clmaroon),20,false);
edit @hansa: was ich mich immer wieder Frage: warum habe ich bei deinen Beiträgen immer ein Déjá-vu ???
http://www.delphipraxis.net/internal...ighlight=farbe

Mfg Frank

Muetze1 25. Aug 2004 21:37

Re: Farbe aufhellen
 
Moin!

Zitat:

Zitat von Hansa
wenn ich das richtig sehe sind HEX-Farbwerte 8-stellig.

also nicht $000080 sondern
$XX000080, wobei XX = Helligkeit. Stimmt das ? :gruebel: Außerdem hat jemand mal hier im Forum ein Programm gepostet, das die Hex-Werte angezeigt hat. Weiß wer noch wo das war ?

Das dies obere Byte die Helligkeit angibt gilt nicht bei den RGB Farben in Delphi für die WinAPI/VCL. Du meinst die Benutzung des oberen Bytes als Alpha-Channel für die Angabe der Helligkeit. Dies wird von Grafikkarten z.T. benutzt für Texturen aber auch bei manchen DirectX Bildschirmmodien (erkennbar an der ARGB Angabe (Alpha, Rot, Grün, Blau)).

In der VCL gibt das obere Byte an, ob die unteren 3 Bytes die RGB Werte sind oder ein Palettenindex. Dann gibt es noch die Angabe ob die RGB Farbe aus dem aktuellen lokalen DC kommt bzw. diesem angepasst werden soll. Näheres findet man dazu sofort, wenn man unter der Hilfe zu dem Typ TColor schaut...

MfG
Muetze1


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:29 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