Moin und

,
tony89!
Du versuchst, auf die Funktion
Rect zuzugreifen, die ein Rechteck zurückgibt - allerdings hast du
rect in der Prozedur als lokale Variable definiert und greifst somit auf diese Variable zu.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TForm1.Button1Click(Sender: TObject); var Bmp: TBitmap; rect: TRect; begin Bmp:=TBitmap.Create; Bmp.LoadFromFile('c:\temp\bild.bmp'); Printer.Title:='c:\temp\bild.bmp'; Printer.BeginDoc; Printer.Canvas.Draw(0,0,Bmp); rect:=Bounds(0,0,printer.pagewidth div 2, printer.pageheight div 2); Printer.Canvas.StretchDraw(rect(0,0,Printer.PageWidth,Printer.PageHeight),Bmp); Printer.EndDoc;
end; |
Entweder musst du die Variable umbenennen, oder über
Classes.Rect() auf die Methode zugreifen
Was anderes: Hast du die Zeile
Printer.Canvas.Draw(0,0,Bmp); absichtlich dringelassen oder vergessen zu löschen? Der von dir gepostete Code würde das Bild zweimal zeichnen.
Grüße,
Yogu