Einzelnen Beitrag anzeigen

loirad

Registriert seit: 25. Nov 2009
135 Beiträge
 
Delphi 6 Professional
 
#1

Linien auf Canvas unterschiedlich breit dargestellt?

  Alt 5. Okt 2012, 12:18
Hallo liebe Community,

ich hab ein kleines Problem mit dem Canvas auf Images. Ich berechne die Breite der Linie, bzw. wie oft die Linie nebeneinander dargestellt werden soll (in einer for Schleife) so:

breite:=round((Bild.Picture.Bitmap.Width*Bild.Picture.Bitmap.Height)*2*0.0000001); Das wird dann so gezeichnet:

Sekrechte Linien
Delphi-Quellcode:
 for i:=(<Ein bestimmter Wert>) to ((<Ein bestimmter Wert>)+breite) do
  begin
   Bild.Picture.Bitmap.Canvas.MoveTo(i,0);
   Bild.Picture.Bitmap.Canvas.LineTo(i,Bild.Picture.Bitmap.Height);
  end;
Waagerechte Linien
Delphi-Quellcode:
 for i:=(<Ein bestimmter Wert>) to ((<Ein bestimmter Wert>)+breite) do
  begin
   Bild.Picture.Bitmap.Canvas.MoveTo(0,i);
   Bild.Picture.Bitmap.Canvas.LineTo(Bild.Picture.Bitmap.Width,i);
  end;
Das Resultat ist im Anhang!

Jetzt habe ich versucht zu der Breite eine bestimmte Zahl zu addieren (z.B. 5) dann sieht es so aus, wie in dem 2. Bild im Anhang!

Wo liegt der Fehler?

Liebe Grüße
loirad

PS.: lasst euch nicht von dem roten Quadrat irritieren, das ist für dieses Problem unwichtig!

Edit: Vielleicht sollte ich noch erwähnen, dass alle 4 Linien mit der gleichen Breite aufgerufen wurden!
Angehängte Grafiken
Dateityp: jpg 2012-10-05_131623.jpg (8,6 KB, 32x aufgerufen)
Dateityp: jpg 2012-10-05_131653.jpg (6,1 KB, 26x aufgerufen)
Wer Fehler findet darf sie behalten!

Geändert von loirad ( 5. Okt 2012 um 12:25 Uhr)
  Mit Zitat antworten Zitat