Hi liebe Forumsgemeinde
Ich habe ein bischen mit der Druckfunktion in Delphi herumprobiert und muß sagen.. so weit so gut.
Mir ist eine Sache aufgefallen:
Wenn ich den Ausdruck eines BIldes auf dem MicrosoftImagingPrinter (oder so), das ist dieser Drucker, der dem Ausdruck als Bild speichert, mache, bekomme ich mit:
Delphi-Quellcode:
x.Left := PageSetupDialog1.MarginLeft;
x.Right := Round(Image1.Picture.Graphic.Width * 3.2);
x.Top := PageSetupDialog1.MarginTop;
x.Bottom := Round(Image1.Picture.Graphic.Height * 3.2);
Printer.BeginDoc;
Printer.Canvas.StretchDraw(x,Image1.Picture.Graphic);
Printer.EndDoc;
bei obigem Skalierungsfaktor ein Bildfüllendes Ergebnis.
Wenn ich das gleiche auf meinem Hp Lasterjet mache habe ich max. ein Viertel der Seite belegt.
Kann das evtl. dara liegen, daß die beiden Drucker ein unterschiedliches Maßsystem haben? Sprich: HP Drucker misst z.B. in 1/10mm Einheiten und der MSImagingDrucker in 1/5mm Einheiten. Kann das sein?
Wenn ja, wie passe ich das im Code an, daß beide die gleiche Grundlage verwenden, oder ich das Problem umgehen kann?
Viele Grüße
Mirko