Einzelnen Beitrag anzeigen

neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#4

Re: Werte farblich darstellen

  Alt 9. Mai 2005, 01:20
RGB ist ein additives Farbsystem.
Um nun eine Abstufung zu ermitteln Bildet man einfach nur den Zwischenwert mittels Verhältnisgleichung:
Delphi-Quellcode:
function GetMixColor(adwStartColor, adwStopColor : Cardinal; afPos : Extended) : Cardinal;
  function Clc(abStart, abStop : Byte) : Byte;
  begin
    Result := abStart + Round((abStop - abStart) * afPos);
  end;
begin
  Result := Rgb(Clc(GetRValue(adwStartColor), GetRValue(adwStopColor)),
                Clc(GetGValue(adwStartColor), GetGValue(adwStopColor)),
                Clc(GetBValue(adwStartColor), GetBValue(adwStopColor)));
end;
So könnte das zum Bsp aussehen.

btw.: Die Funktion selber ist etwas langsam und könnte etwas Tuning vertragen.
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat