Hallo,
ich möchte gerne in Delphi ein Bild auf einer DIN A4 Seite (im Querformat) ausdrucken. Und zwar soll das Bitmap so vergrößert werden, dass es das komplette Blatt füllt. Die Seitenverhältnisse sollten dabei gleich bleiben.
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| Var Rect:TRect; ... Printer.BeginDoc; Printer.Orientation:=TPrinterOrientation(poLandscape); Printer.Canvas.StretchDraw(Rect,Image1.Picture.Graphic); Printer.EndDoc; |
Das Drucken funktioniert, allerdings weiss ich nicht, wie ich die Bildgröße ans DIN A4 Format anpassen kann. Kann oder muss man die Auflösung berechnen? Und macht es Sinn, statt StretchDraw aus Qualitätsgründen andere Routinenen zum Skalieren mit verschiedenen Filtern zu nutzen?
Danke schonmal.
Viele Grüße
Moderiert von Th69: Topic aus Multimedia / Grafik verschoben am Mo 20.05.2013 um 14:25Moderiert von Narses: Beiträge zusammengefasstO.k., über DeviceCaps kann ich die Auflösung in Pixeln ermitteln:
Delphi-Quelltext
1: 2:
| GetDeviceCaps(printer.handle, PHYSICALWIDTH); GetDeviceCaps(printer.handle, PHYSICALHEIGHT); |
Gruß