Einzelnen Beitrag anzeigen

Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#9

Re: Farbwerte zwischen Schwarz und Weiß berechnen?

  Alt 2. Jan 2009, 00:41
Delphi-Quellcode:
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  value1, value2, value: double;
  c: byte;
  w,h: integer;
begin
  w := panel1.width;
  h := panel1.height;
  // (x-w/2)/w) = x/w - 0.5
  value1 := max(abs(x/w-0.5), abs(y/h-0.5))*2;
  value2 := {1-sqrt(sqr(x-w/2)+sqr(y-h/2))/sqrt(sqr(w/2)+sqr(h/2))}
    abs(x/w-0.5)*abs(y/h-0.5)*2;
  value := {max(value1,value2)}max(max((value1+value2)/2,value1),value2);
  c := round(255-value*255);
  panel1.color := rgb(c,c,c);
end;
Experimentell... relativ gutes Ergebnis (im vergleich zu meinen anderen versuchen). Kannst ja noch etwas dran herumspielen. Wie schon gesagt, eine perfekte Lösung kann es nicht geben.
  Mit Zitat antworten Zitat