Delphi-Quellcode:
function mittlerefarbe(farbe1, farbe2: TColor): TColor;
var r1, g1, b1,
r2, g2, b2,
rn, gn, bn: integer;
begin
r1:= ColorToRGB(farbe1) and $0000FF;
r2:= ColorToRGB(farbe2) and $0000FF;
g1:= (ColorToRGB(farbe1) and $00FF00) shr 8;
g2:= (ColorToRGB(farbe2) and $00FF00) shr 8;
b1:= (ColorToRGB(farbe1) and $FF0000) shr 16;
b2:= (ColorToRGB(farbe2) and $FF0000) shr 16;
rn:= (r1+r2) div 2;
gn:= (g1+g2) div 2;
bn:= (b1+b2) div 2;
result:= TColor(rn + (gn shl 8) + (bn shl 16));
end;
Du übergibst zwei Farben als Parameter und bekommst den Mittelwert zurück. Es kann gut sein, das es da eine viel bessere Möglichkeit gibt, das da oben hb ich mir grade aus den Fingern gesaugt.
Die Wichtigkeit eines Postings im Forum ist reziprok zur Anzahl der enthaltenenen, kumulierten Ausrufungszeichen!!!