Einzelnen Beitrag anzeigen

Benutzerbild von Dunkelbunt27
Dunkelbunt27

Registriert seit: 10. Aug 2010
232 Beiträge
 
Delphi XE Professional
 
#1

Trotz Rundung prezise zeichnen

  Alt 3. Feb 2011, 19:31
Hallo Delphi Praxis,

Ich rechne ein Netz aus Waagerechten udn Senkrechten Linien in einer Schleife aus.
Delphi-Quellcode:
KaestchenBreite :=round((Zeichenflaeche.Width-RandLinks-RandRechts)/AnzahlSpalten);
KaestchenHoehe :=round((Zeichenflaeche.Height-RandOben-RandUnten)/AnzahlZeilen);
Delphi-Quellcode:
for Zeilenzaehler := 0 to AnzahlZeilen do
   begin
      Form1.Canvas.MoveTo(RandLinks,RandOben + Zeilenzaehler*Kaestchenhoehe);
      Form1.Canvas.LineTo((Zeichenflaeche.Width-RandRechts),RandOben + Zeilenzaehler*Kaestchenhoehe);
    end;

   for Spaltenzaehler := 0 to AnzahlSpalten do
    begin
      Form1.Canvas.MoveTo(RandLinks + Spaltenzaehler*KaestchenBreite ,RandOben);
      Form1.Canvas.LineTo(RandLinks + Spaltenzaehler*KaestchenBreite ,(Zeichenflaeche.Height-RandOben));
    end;
Das Ganze sieht aus wie im Anhang.
Wenn ich die Größe des Programmsändere ändert sich auch die Größe des Rasters, bei einigen Größen treten durch die Rundung Fehler auf.
Es dürfen aber auch unten rechts nur volle Kästchen entstehen.

Weiß jemand, wie ich immer volle Kästchen bekomme?

FG Dunkelbunt
Miniaturansicht angehängter Grafiken
bild2.png  
  Mit Zitat antworten Zitat