Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#38

Re: Quadratische fkt. Zeichnet nicht

  Alt 13. Mär 2008, 21:47
OK, schau Dir mal dieses Beispiel an (hat jetzt nix mit der Vektorgrafik zu tun):
Delphi-Quellcode:
procedure TForm1.ClearBox(); //Prozedur, die ein simples Koordinatensystemzeichnet
const Abst = 10; //10 Pixel Abstand zwischen den Markierungen
var x,y,i: integer;
begin
  with FunctionBox do
  begin
    Canvas.Pen.Color:= clGray;
    Canvas.Brush.Color:= clWhite;
    Canvas.Rectangle(0,0,Width,Height); //zeichnet Rahmen
    y := round(Height/2);
    //Markierungen von der Mitte nach unten
    while y < Height do
      begin
        Canvas.MoveTo(round(Width/2) - 5, y);
        Canvas.LineTo(round(Width/2) + 5, y);
        inc(y,Abst);
      end;
    y := round(Height/2);
    //Markierungen von der Mitte nach oben
    while y > 0 do
      begin
        Canvas.MoveTo(round(Width/2) - 5, y);
        Canvas.LineTo(round(Width/2) + 5, y);
        dec(y,Abst);
      end;
    x := round(Width/2);
    //Markierungen von der Mitte nach rechts
    while x < Width do
      begin
        Canvas.MoveTo(x,round(Height/2) + 5);
        Canvas.LineTo(x,round(Height/2) - 5);
        inc(x,Abst);
      end;
    x := round(Width/2);
    //Markierungen von der Mitte nach links
    while x > 0 do
      begin
        Canvas.MoveTo(x,round(Height/2) + 5);
        Canvas.LineTo(x,round(Height/2) - 5);
        dec(x,Abst);
      end;
    Canvas.MoveTo(0,round(Height/2));
    Canvas.LineTo(Width,round(Height/2)); //zeichnet x-Achse
    Canvas.MoveTo(round(Width/2),0);
    Canvas.LineTo(round(Width/2),Width); //zeichnet y-Achse
  end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat