Hallo Sam,
wie Christrian schon sagte, Linienbreiten unterhalb 1 Pixel wirst Du nicht schaffen können. Du kannst allenfalls die Farbe der Linien anpassen, so dass sie rein optisch weniger ins Gewicht fallen; zum Beispiels durch Verwendung eines Grautones.
Ich habe mal mit folgendem Code ein Raster auf ein Bild gemalt. Vielleicht kannst Du anhand dieses Beispiels erklären, was daran jetzt noch zu dick ist.
(Es geht mir im Moment weniger um die nicht vorhandene Eleganz dieses Codes... also bitte nicht meckern..)
Code:
[b]procedure[/b] TForm1.btn_DrawGridClick(Sender: TObject);
[b]const[/b] GridSize : Integer = 20;
[b]var[/b] xSteps, ySteps, xIndex, yIndex : Integer;
[b]begin[/b]
[b]If not[/b] Image1.Picture.Bitmap.Empty [b]Then[/b]
[b]With[/b] Image1.Picture.Bitmap [b]Do[/b]
[b]Begin[/b]
xSteps:= Width [b]div[/b] GridSize;
ySteps:= Height [b]div[/b] GridSize;
[b]With[/b] Canvas [b]Do[/b]
[b]Begin[/b]
Pen.Width:= 1;
Pen.Color:= clSilver;
Pen.Style:= psSolid;
[b]For[/b] xIndex:= 0 [b]To[/b] xSteps [b]Do[/b]
[b]For[/b] yIndex:= 0 [b]To[/b] ySteps [b]Do[/b]
[b]Begin[/b]
MoveTo( 0, yIndex*GridSize ); LineTo( Width, yIndex*GridSize );
MoveTo( xIndex*GridSize, 0 ); LineTo( xIndex*GridSize, Height );
[b]End;[/b]
[b]End;[/b]
[b]End[/b]
[b]Else[/b]
ShowMessage( 'Kein Bild verfügbar.' );
[b]end;[/b]
Das von diesem Code produzierte Bild siehst Du im Anhang. Wenn man dieses jetzt mitsamt des Gitters vergrößert, so werden die Linien natürlich ebenfalls größer (breiter). Als Abhilfe könntest Du jeweils das Original skalieren und erst danach das Gitter zeichnen. Die Operation geht recht schnell und Du bist wieder bei Linienbreiten von genau 1 Pixel.