Großes Bitmap drucken (plotten)
Hallo Leute,
ich habe ein relativ großes Bitmap welches ich auf einem Drucker ausplotten (drucken) möchte. Die Größe des Bitmaps ist variabel. Ich habe nun das Bitmap auf die vom User eingestellete Blattgröße gestretcht indem ich diese Routine verwende:
Code:
Das funktioniert ganz gut, nur ist das Problem folgendes: Wenn der User eine unpassende Blattgröße in den Druckereinstellungen einstellt, dann sieht der Ausdruck etwas bescheiden aus (ungleichförmig zertstretcht).
Printer.BeginDoc;
With Printer.Canvas Do Begin StretchDraw(Printer.Canvas.ClipRect, bmpMyPrinter); Verti := GetDeviceCaps(Printer.Handle, HORZRES); Hori := GetDeviceCaps(Printer.Handle, VERTRES); FaktorH := Hori / bmpMyPrinter.Height; FaktorV := Verti / bmpMyPrinter.Width; End; Printer.Enddoc; Wie würdet ihr das Problem lösen? Würdet ihr das evtl ganz anders machen? Wenn ja wie? Ein Beispiel wäre super. |
Re: Großes Bitmap drucken (plotten)
Ich würde einfach das Seitenverhältnis beibehalten und das bild dabei nicht verzerren lassen.
|
Re: Großes Bitmap drucken (plotten)
Jupp habe das Bild jetzt proportional gestrecht:
Code:
Printer.BeginDoc;
With Printer.Canvas Do Begin SetMapMode(Printer.Canvas.Handle, MM_LOMETRIC); // Printermode auf 1/10 mm Rect(0, 0, druckbildbreite, -1* druckbildhoehe); StretchDraw(Printer.Canvas.ClipRect, bmpMyPrinter); End; Printer.Enddoc; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz