Einzelnen Beitrag anzeigen

MTornau

Registriert seit: 30. Aug 2006
14 Beiträge
 
#1

Canvas auf den Drucker schicken

  Alt 5. Apr 2007, 10:32
Moin !

Auf meiner Canvas ist ein Graph gezeichnet, den ich mit Hilfe des Druckers auf Papier bannen möchte.

Der Code dazu sieht so aus:
Delphi-Quellcode:
procedure Graphik_ausdrucken ();
var Feld : TRect;
    Faktor : integer;

const X0 = 100;
      Y0 = 100;
begin
     // Vergrößungerungsfaktor bestimmen
     Faktor := Trunc((Printer.PageWidth - (2 * X0)) / Form_Kurven.Graph_Kurven.Width);

     // Ausgabefeld festlegen
     Feld.Left := X0;
     Feld.Top := Y0;
     Feld.Right := X0 + Faktor * Form_Kurven.Graph_Kurven.Width;
     Feld.Bottom := Y0 + Faktor * Form_Kurven.Graph_Kurven.Height;

     if Main.PrintDialog.Execute then
        begin
        with Printer do
           begin
           BeginDoc;
           //Orientation := poLandscape ;
           //Canvas.Brush.Style := bsClear ;
           //Canvas.Font.Name := 'Courier New';
           //Canvas.font.Style := [fsBold] ;
           //Canvas.TextOut (40,5,DateToStr(now)+' '+TimeToStr(now));
           Canvas.StretchDraw(Feld,Form_Kurven.Graph_Kurven.Picture.Graphic);
           Enddoc;
           end;
        end;
end;
Leider kommt ausser dem Text mit dem Datum und der Uhrzeit nichts an (die Seite mit den Graphen ist auch nicht weiss, der Graph exisitiert also schon).

Meine Frage ist jetzt, wo mache ich den Fehler ?

Grüße und Danke !

[edit=SirThornberry]Delphi-Tags gesetzt - Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat