(Gast)
n/a Beiträge
|
Koordinatensystem / Gitternetzlinien in TImage
31. Jan 2003, 00:31
Delphi-Quellcode:
procedure TForm1.btn_DrawGridClick(Sender: TObject);
const GridSize : Integer = 20;
var xSteps, ySteps, xIndex, yIndex : Integer;
begin
If not Image1.Picture.Bitmap.Empty Then
With Image1.Picture.Bitmap Do
Begin
xSteps:= Width div GridSize;
ySteps:= Height div GridSize;
With Canvas Do
Begin
Pen.Width:= 1;
Pen.Color:= clSilver;
Pen.Style:= psSolid;
For xIndex:= 0 To xSteps Do
For yIndex:= 0 To ySteps Do
Begin
MoveTo( 0, yIndex*GridSize ); LineTo( Width, yIndex*GridSize );
MoveTo( xIndex*GridSize, 0 ); LineTo( xIndex*GridSize, Height );
End;
End;
End
Else
ShowMessage( 'Kein Bild verfügbar.' );
end;
Das Ergebnis ist hier zu sehen!
Von DrDangerous!
Grüsse, Daniel
Ein Verbesserungsvorschlag von CarstenB:
Zitat:
Man sollte die beiden Zählschleifen trennen, da sonst alles zig mal gezeichnet wird, was merklich auf die Performance gehen dürfte.
Delphi-Quellcode:
For xIndex:= 0 To xSteps Do begin
MoveTo( xIndex*GridSize, 0 ); LineTo( xIndex*GridSize, Height );
End;
For yIndex:= 0 To ySteps Do Begin
MoveTo( 0, yIndex*GridSize ); LineTo( Width, yIndex*GridSize );
end;
[edit=Luckie]Verbesserungsvorschlag von CarstenB. Mfg, Luckie[/edit]
|
|
Zitat
|