Zitat von
Sunlight7:
So mach ich das immer, funkt bestens...
Delphi-Quellcode:
function SCombineColor(const Color1, Color2:DWord):DWord;
var RGB1, RGB2, xRGB:TRGB;
begin
...
xRGB.Red:= Round((RGB1.Red+ RGB2.Red) / 2);
xRGB.Green:=Round((RGB1.Green+RGB2.Green) / 2);
xRGB.Blue:= Round((RGB1.Blue+ RGB2.Blue) / 2);
...
end;
Ja, aber das erfüllt doch nie im Leben
Zitat von
Alexander Roth:
Das soll solche bedingungen erfüllen:
weis+grün = weis (heller geht es ja schließlich nicht)
schwarz+grün=grün
schwarz+weis=weis
Wenn du hier weiß mit etwas wie grün oder schwarz kombinierst, wird etwas rauskommen, dass dunkler ist als weiß. Und bei schwarz und etwas anderem, nennen wir die Farbe X, wird nicht X sondern etwas dunkleres (X / 2) rauskommen. Ist also letztlich das gleiche Problem (die Gleiche Lösung) wie beim Vorschlag von Reinhard Kern (ausser ich überseh einfach etwas, dann hab ich nichts gesagt).