// Farben werden in einem bestimmten Verhältnis gemischt.


// Getestet mit D4 unter XP

function MixColors(F1, F2: TColor; Z, N: Single): TColor; 
var r, g, b, r1, g1, b1, r2, g2, b2: byte; 
  h: double; 
begin 
  h := Z + N; 
  F1 := ColorToRGB(F1); 
  F2 := ColorToRGB(F2); 
  r1 := GetRValue(F1); 
  g1 := GetGValue(F1); 
  b1 := GetBValue(F1); 
  r2 := GetRValue(F2); 
  g2 := GetGValue(F2); 
  b2 := GetBValue(F2); 
  r := round((r1 * Z + r2 * N) / h); 
  g := round((g1 * Z + g2 * N) / h); 
  b := round((b1 * Z + b2 * N) / h); 
  Result := RGB(r, g, b); 
end; 
 
// Rot und Blau werden im Verhältnis 4 zu 3 gemischt 
 
procedure TForm1.Button1Click(Sender: TObject); 
begin 
  Panel1.color := clred; 
  Panel2.color := clblue; 
  Panel3.color := MixColors(Panel1.color, Panel2.color, 4.0, 3.0); 
end;



 

Zugriffe seit 6.9.2001 auf Delphi-Ecke