Einzelnen Beitrag anzeigen

StefanDP

Registriert seit: 11. Apr 2004
294 Beiträge
 
#5

Re: Airbrush mit Sperkeln bzw. Airbrush von Microsoft Paint

  Alt 17. Apr 2004, 17:36
hi
ich hab mich jetzt mal hingesetzt und einen code ausgearbeitet:

die paintbox hat den namen "PaintBox1" und sollte schon so 400x400 pixel groß sein fürs beispiel

aaalso:
8)
Code:
uses
  ...Math...     // braucht man für Power

procedure TForm1.Button1Click(Sender: TObject);
var
  x_,y_ : Integer;
  x,y: Integer;
  r: Integer;
  abstand: Integer;
  gewichtung: Integer;
begin
  r := 50;     // "Radius"

  x := 150;    //aktuelle Position
  y := 100;
  gewichtung := 100; // wie sehr mit einem "klick" gezeichnet werden soll
 
  Randomize;
  with PaintBox1.Canvas do
    for x_ := -r to r do    // jedes Pixel des Quadrates durchgehen
      for y_ := -r to r do
        // der abstand von mittelpunkt und punkt im kreis ist:
        // round(Power(Sqr(x_)+Sqr(y_),1/2))
        // Satz des Pythagoras!!! (hoch 1/2) = 2te wurzel
        if round(Power(Sqr(x_)+Sqr(y_),1/2)) <= r then
          if random(gewichtung) = 0 then
            Pixels[x_+x,y_+y] := clBlue;
end;
*ganz stolz auf lauter schleifen ohne begin/end...*

mfg
stefan
  Mit Zitat antworten Zitat