Einzelnen Beitrag anzeigen

Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#3

Re: Kreis zeichnen ohne Zeichenmethoden oder Winkelfunktione

  Alt 5. Sep 2005, 20:25
Bresenham-Algorithmus zum Zeichnen eines Kreises

einen Kreis zu Fuß zeichen

Delphi-Quellcode:
procedure Circle(Canvas: TCanvas; X, Y, Radius: Word; Color: TColor);
var
  x1, x2, y1, y2, r2, d: integer;
  h: real;
begin
  H := 0.5;
  Y2 := 0;
  d := round((Radius * 3.2) / (SQR(2) + h));
  X2 := Radius * Radius;
  x1 := Radius;
  R2 := X2 + d;
  for y1 := 0 to d do
  begin
    if Y2 + X2 > R2 then
    begin
      X2 := X2 - x1 - x1 + 1;
      x1 := x1 - 1;
    end;
    with Canvas do
    begin
      pixels[X - x1, Y - y1] := Color;
      // ...
    end;
    Y2 := Y2 + y1 + y1 + 1;
  end;
end;
MfG.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat