![]() |
farbverlauf in %
Hallo,
hab da mal wieder ein kleines Problem ;-( Wie ist es möglich ein Farbwert zu erzeugen (Grün, Gelb, Rot)? Ich habe dabei 0-100% zur verfügung! Also, bei 0 % soll es Rot sein, und bei 100% Grün! Gibt es dafür schon Code um das zu berechnen?? Dankeschonmal.. |
Re: farbverlauf in %
Code-Library:
![]() |
Re: farbverlauf in %
Ok, hab vergessen zu erwähnen, alles nonVCl!! ;-(
|
Re: farbverlauf in %
Zitat:
Erst beim 2. Schritt; also das Zeichnen der Farbe auf einem Fenster gibt es Unterschiede zwischen VCL und nonVCL. |
Re: farbverlauf in %
Mathematik?
z.B.:
Delphi-Quellcode:
Farbe := (Trunc(255 / 100 * Prozent) * (clRed and $fefefe))
or (Trunc(255 / 100 * (100 - Prozent) * (clLime and $fefefe)); Farbe := (255 * Prozent div 100 * (clRed and $fefefe)) or (255 * (100 - Prozent) div 100 * (clLime and $fefefe)); |
Re: farbverlauf in %
Für diese funktion muss ich die Unit "Graphics" einbinden! Das will ich nicht ;-(
Naja ich hatte an RGB(.., .., ..) gedacht! Sowas in der Form:
Delphi-Quellcode:
Nur leider weiß ich nicht so richtig wie ich das berechnen soll, das ich je nach Prozent einen gleitenden übergang von Rot zu Grün hinnbekomme..
function MakeColor(prozent: integer): COLORREF;
begin; result := RGB(..); end; |
Re: farbverlauf in %
Zitat:
Delphi-Quellcode:
Copy & Paste dürfte hier ja erlaubt sein.
type
PColor = ^TColor; TColor = -$7FFFFFFF-1..$7FFFFFFF; ... function ColorToRGB(Color: TColor): Longint; begin if Color < 0 then Result := GetSysColor(Color and $000000FF) else Result := Color; end; Die anderen Funktionen (RGB() und GetRValue,...) sind aus Unit Windows und gegen diese Unit hast du wohl nichts. |
Re: farbverlauf in %
Dann übernimm einfach nur den Wert der dieser Farbkonastanten,
oder trag die Berechnungen in die RGB-Funktion ein?
Delphi-Quellcode:
Farbe := {red}(255 * Prozent div 100)
or (255 * (100 - Prozent) div 100 * $0100); Farbe := RGB(255 * Prozent div 100, 255 * (100 - Prozent) div 100, 0); |
Re: farbverlauf in %
Ok, danke werde es morgen nochmal versuchen..
|
Re: farbverlauf in %
Habe das jetzt mal ausprobiert, aber irgendwie ist das noch nciht das was ich suche...
das Problem ist ja, das ich nicht alle Farben auf die selbe Art berechnen kann, ich will ja nur nen Übergang hinnbekommen von Rot zu Gelb zu Grün! Wenn ich es so mache, dann hab ich ja auch andere Farben dazwischen, ;-( Ich hab immer noch keine Idee wie ich das berechne :gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:25 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