Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Canvas an Drucker senden und drucken (https://www.delphipraxis.net/23458-canvas-drucker-senden-und-drucken.html)

daniel8520 3. Jun 2004 14:48


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:
begin
   Printer.BeginDoc;
   Printer.Canvas := MeinTImage.Canvas;
   Printer.EndDoc;
end;
Dabei musst ich leider feststellen, dass das Canvas des Printers nur zum lesen da ist.
Wie kann man das denn anderst lösen?

shmia 3. Jun 2004 16:00

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;

atreju2oo0 3. Jun 2004 16:49

Re: Canvas an Drucker senden und drucken
 
Delphi-Quellcode:
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;
Das funktioniert auf das ganze Blatt passend...

daniel8520 4. Jun 2004 17:34

Re: Canvas an Drucker senden und drucken
 
Cool thx.

Funkt das auch bei Laserdrckern???
hab gehört, dass ein Laserdrucker die Befhle anderst interpretiert!

atreju2oo0 4. Jun 2004 17:47

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:

mytar 9. Jul 2004 12:57

Re: Canvas an Drucker senden und drucken
 
MeinTImage.PaintTo(Printer.Canvas.Handle, 100, 100);

Ich finde keine Methode PaintTo in TImage?

mytar

Steve 9. Jul 2004 13:59

Re: Canvas an Drucker senden und drucken
 
Ne Alternative wär auch Hier im Forum suchenStrechDraw, Bei Google suchenStrechDraw..

Gruß
Stephan

mytar 9. Jul 2004 14:53

Re: Canvas an Drucker senden und drucken
 
Danke!

Aber kann mir niemand zu "PaintTo" weiterhelfen?

mytar 12. Jul 2004 15:21

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?

shmia 12. Jul 2004 17:30

Re: Canvas an Drucker senden und drucken
 
Zitat:

Zitat von mytar
Statt immer alles auszudrucken, und den Drucker hab ich am anderen PC, drucke ich einfach alles als PDF-Datei. Das Dokument ist immer weiß.

Da liegt der Hase im Pfeffer !
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 09:46 Uhr.
Seite 1 von 2  1 2      

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