![]() |
Canvas an Drucker senden und drucken
Hallo,
ich hab ein kleines Problem: Wie kann man ein Canvas ausdrucken? Ich hab es so probiert:
Delphi-Quellcode:
Dabei musst ich leider feststellen, dass das Canvas des Printers nur zum lesen da ist.
begin
Printer.BeginDoc; Printer.Canvas := MeinTImage.Canvas; Printer.EndDoc; end; Wie kann man das denn anderst lösen? |
Re: Canvas an Drucker senden und drucken
Delphi-Quellcode:
begin
Printer.BeginDoc; MeinTImage.PaintTo(Printer.Canvas.Handle, 100, 100); // da aber die Pixels deines Images auf dem Drucker 1 zu 1 umgesetzt werden // wird dein Bild recht klein werden Printer.EndDoc; end; |
Re: Canvas an Drucker senden und drucken
Delphi-Quellcode:
Das funktioniert auf das ganze Blatt passend...
var Printer:TPrinter;
begin Printer:=TPrinter.Create; with Printer do begin Orientation:=poLandscape; BeginDoc; Refresh; Canvas.CopyMode:=cmSrcCopy; Canvas.CopyRect(Rect(0,0,PageWidth,PageHeight), Zeichenfenster.Canvas, Rect(0,0,560,450)); EndDoc; Destroy; end; end; |
Re: Canvas an Drucker senden und drucken
Cool thx.
Funkt das auch bei Laserdrckern??? hab gehört, dass ein Laserdrucker die Befhle anderst interpretiert! |
Re: Canvas an Drucker senden und drucken
Kanns leider nicht ausprobieren aber ich würde mal davon ausgehen...
Vielleicht ändern sich die Farben etwas... :gruebel: |
Re: Canvas an Drucker senden und drucken
MeinTImage.PaintTo(Printer.Canvas.Handle, 100, 100);
Ich finde keine Methode PaintTo in TImage? mytar |
Re: Canvas an Drucker senden und drucken
|
Re: Canvas an Drucker senden und drucken
Danke!
Aber kann mir niemand zu "PaintTo" weiterhelfen? |
Re: Canvas an Drucker senden und drucken
ich glaube nicht STRECHDRAW sondern STRETCHDRAW.
Bei mir hat nichts geklappt. Statt immer alles auszudrucken, und den Drucker hab ich am anderen PC, drucke ich einfach alles als PDF-Datei. Das Dokument ist immer weiß. Nochmals: Ich hab in meinen TImage etwas gezeichnet. Ich möchte nun das ganze Image ausdrucken, und davor noch etwas hineinschreiben. Das Hineinschreiben funktioniert, ja mit TextOut(..), das passt. Aber das Image bringe ich einfach nichts in den Printer? was soll ich machen? |
Re: Canvas an Drucker senden und drucken
Zitat:
Der PDF-Treiber kann nicht alle GDI Funktionen korrekt umsetzen. Du müsstest mal das PixelFormat des Image verändern: Image1.Picture.Bitmap.PixelFormat := pf8bit; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:13 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