![]() |
Bild (TImage) drucken
Hallo,
mit folgendem Code möchte ich ein TImage ausdrucken:
Delphi-Quellcode:
Der Drucker reagiert, zieht ein Papier ein und schiebt es beim Ausgabe schlitz raus. Darauf ist nichts gedruckt. Wie kann ich das Bild drucken?
procedure TForm2.Button1Click(Sender: TObject);
var ScaleX, ScaleY: Integer; RR: TRect; begin Printer.BeginDoc; try ScaleX := GetDeviceCaps(Handle, logPixelsX) div PixelsPerInch; ScaleY := GetDeviceCaps(Handle, logPixelsY) div PixelsPerInch; RR := Rect(0, 0, Image1.picture.Width * scaleX, Image1.Picture.Height * ScaleY); Printer.Canvas.StretchDraw(RR, Image1.Picture.Graphic); // Picture.Bitmap habe ich es auch schon versucht finally Printer.EndDoc; end; end; Drucker: Canon Pixma ip4300 - Andere Anwendung können problemlos drucken OS: Windows Vista SP 2 + alle Hotfixes |
AW: Bild (TImage) drucken
Hast Du mal ScaleX/Y "debuggt"
GetDeviceCaps sollte mit Printer.Handle aufgrufen werden Image1.Picture.Graphic auf das Form.Canvas wird dargestellt? |
AW: Bild (TImage) drucken
Printer.Handle war die Lösung. Danke Bummi :thumb:
Delphi-Quellcode:
ScaleX := GetDeviceCaps(Printer.Handle, logPixelsX) div PixelsPerInch;
ScaleY := GetDeviceCaps(Printer.Handle, logPixelsY) div PixelsPerInch; |
AW: Bild (TImage) drucken
Jupp, erstmal das falsche Handle (du verwendest das der Form)
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz