Wenn ich auf dem Canvas mit canvas.rectangle ein Rechteck zeichne, dann wird bei einem pen in der Stärke 0 und 1 das rectangle fehlerhaft gezeichnet, wenn ich auf den "Microsoft Print to PDF"-printer-canvas zeichne.
Das ganze fällt erst mal nicht wirklich auf. Wenn man mit dem Actrobat-Reader die PDF anschaut, dann fühlt man, dass etwas nicht richtig ist. Grade, wenn Rechtecke sehr nah bei einander sind. Aber wenn man stark vergrößert, dann wird es sichtbar.
Die linken beiden Rechtecke wurden mit Pen=0 bzw. Pen=1 gezeichnet. Ab Pen=2 ist alles OK
Ist das eine dokumentierte Eigenschaft, oder ein Fehler?
Das angehängte Bild wurde mit folgendem Code erzeugt. aCanvas ist der printer.canvas
Delphi-Quellcode:
var
lRect: TRect;
begin
aCanvas.Pen.Color := clBlack;
aCanvas.Pen.Mode := pmCopy;
aCanvas.Pen.Style := psSolid;
aCanvas.Brush.Color := clGreen;
lRect.Create(0, 0, 40, 40);
lRect.Offset(50, 50);
for var a := 0 to 5 do
begin
aCanvas.Pen.Width := a;
aCanvas.Rectangle(lRect);
lRect.Offset(50, 0);
end;
end;