Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#5

AW: Farbexperten: Farbwerte für Segmentierung finden

  Alt 7. Apr 2012, 21:53
@Aphton

Nur bedingt. Kleiner Trick (ohne Gewähr), wenn man das so nennen darf, zwei Farben prozentual mischen, wobei einer der Farben Weiß ist.

//Edit:

Ich hab meine Aussage getestet und auf die Schnelle eine Funktion geprogt die zwei Farben prozentual mischt. Ist eine davon weiß, wird die Farbe heller. Nimmt man als zweite Farbe schwarz, wird es dunkler. Das Ganze scheint irgendwie zu funktionieren.

Delphi-Quellcode:
function ColorMix(Col1, Col2: TColor; PercCol1: Byte): TColor;
var
  R, G, B: Integer;
begin
  if PercCol1 > 100 then PercCol1 := 100;

  R := Round(GetRValue(Col1) + ((GetRValue(Col2) - GetRValue(Col1)) * PercCol1 / 100));
  G := Round(GetGValue(Col1) + ((GetGValue(Col2) - GetGValue(Col1)) * PercCol1 / 100));
  B := Round(GetBValue(Col1) + ((GetBValue(Col2) - GetBValue(Col1)) * PercCol1 / 100));

  Result := RGB(R, G, B);
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
  Color := ColorMix($000080FF, clWhite, TrackBar1.Position);
end;

Geändert von Popov ( 7. Apr 2012 um 22:12 Uhr)
  Mit Zitat antworten Zitat