// Der Effekt "Sprühdose" wird programmiert.


// Getestet mit D4 unter XP

var 
  Durchmesser: Byte = 50; 
  Dichte: Byte = 125; 
  Farbe: TColor = clAqua; 
 
procedure Spruehdose(cnv: TCanvas; x, y: Integer); 
var 
  s, r: single; 
  i: integer; 
begin 
  if (Dichte > 0) and (Durchmesser > 0) then begin 
    for i := 0 to Dichte * Durchmesser div 40 do 
    begin 
      r := Random(Durchmesser) / 2; 
      s := Random * 2 * pi; 
      setpixel(cnv.handle, x + Trunc(r * sin(s)), y + Trunc(r * cos(s)), Farbe); 
    end; 
  end; 
end; 
 
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; 
  Shift: TShiftState; X, Y: Integer); 
begin 
  if Button = mbLeft then Spruehdose(TImage(Sender).Canvas, x, y); 
end; 
 
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, 
  Y: Integer); 
begin 
  if ssLeft in Shift then Spruehdose(TImage(Sender).Canvas, x, y); 
end;



 

Zugriffe seit 6.9.2001 auf Delphi-Ecke