Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   farbverlauf in % (https://www.delphipraxis.net/128480-farbverlauf.html)

lbccaleb 30. Jan 2009 14:34


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..

shmia 30. Jan 2009 14:37

Re: farbverlauf in %
 
Code-Library: Farbverlauf berechnen

lbccaleb 30. Jan 2009 14:43

Re: farbverlauf in %
 
Ok, hab vergessen zu erwähnen, alles nonVCl!! ;-(

shmia 30. Jan 2009 14:47

Re: farbverlauf in %
 
Zitat:

Zitat von lbccaleb
... alles nonVCl!! ;-(

Das Brechnen eines Farbverlauf IST nonVCL.
Erst beim 2. Schritt; also das Zeichnen der Farbe auf einem Fenster gibt es Unterschiede zwischen VCL und nonVCL.

himitsu 30. Jan 2009 14:52

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));

lbccaleb 30. Jan 2009 15:17

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:
function MakeColor(prozent: integer): COLORREF;
  begin;

   
    result := RGB(..);
  end;
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..

shmia 30. Jan 2009 15:43

Re: farbverlauf in %
 
Zitat:

Zitat von lbccaleb
Für diese funktion muss ich die Unit "Graphics" einbinden! Das will ich nicht ;-(

Die einzigste Funktion, die aus Unit Graphics benötigt wird, ist diese:
Delphi-Quellcode:
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;
Copy & Paste dürfte hier ja erlaubt sein.
Die anderen Funktionen (RGB() und GetRValue,...) sind aus Unit Windows und gegen diese Unit hast du wohl nichts.

himitsu 30. Jan 2009 15:46

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);

lbccaleb 30. Jan 2009 20:23

Re: farbverlauf in %
 
Ok, danke werde es morgen nochmal versuchen..

lbccaleb 31. Jan 2009 14:21

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 19:18 Uhr.
Seite 1 von 3  1 23      

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