Autor Beitrag
tony89
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Di 23.03.10 18:18 
Hallo,
ich versuche einen Screenshot zu drucken. Alles klappt soweit, aber das Problem ist, das die Bmp.datei zu klein gedruckt wird. Wie kann ich sie vergrößern...
So wie ich es jetzt geschrieben habe, kommt die Fehlermeldung, dass ein Operator bzw. ; fehlt

Danke schon mal
ausblenden 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;

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Di 23.03.10 18:35 
Moin und :welcome:, user profile icontony89!

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.

ausblenden 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 :idea:

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
tony89 Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Di 23.03.10 19:30 
DANKE....funktioniert alles super!!!

Gibt es auch die Möglichkeit, den Screenshot im QUERFORMAT zu drucken?
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Di 23.03.10 19:51 
Hab gerade kein Delphi zur Hand, aber soweit ich weiß gab's da Printer.Orientation oder so.