Entwickler-Ecke
Sonstiges (Delphi) - TImage im Querformat drucken
Soapy - So 30.12.07 17:10
Titel: TImage im Querformat drucken
Hallo Delphi-Gemeinde
Ich habe ein Problem.
Und zwar habe ich ein Programm geschrieben, das lineare Funktionen berechnet und diese dann ausdruckt.
Das Programm errechnet die lineare Funktion, und stellt sie in einem TImage dar, das ich zusätzlich noch mit einem Koordinatensystem ausgestattet habe.
So klappt alles einwandfrei, druckt auch aus aber leider im Hochformat, sodass immer nur ein Teil der linearen Funktion und des Koordinatensystems angezeigt wird.
Das ist meine Druckroutine:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| with Printer do begin BeginDoc; try ScaleX := GetDeviceCaps(Handle, logPixelsX) div PixelsPerInch; ScaleY := GetDeviceCaps(Handle, logPixelsY) div PixelsPerInch; RR := Rect(0, 0, Koordinatensystem.picture.Width * scaleX, Koordinatensystem.Picture.Height * ScaleY); Canvas.StretchDraw(RR, Koordinatensystem.Picture.Graphic); finally EndDoc; end; end; |
Wie kann ich nun einstellen, dass der Drucker das TImage im Querformat ausdruckt?
Und zum Schluss noch das Programm für euch:
Moderiert von
jasocul: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am So 30.12.2007 um 17:59
DrRzf - So 30.12.07 17:28
Delphi-Quelltext
1:
| Printer.Orientation := poLandscape; |
Soapy - So 30.12.07 17:30
Ich probiers mal aus!
Danke!
P.S. Ich weiß dass ich mit meinen vielen Posts langsam nerve :? , aber ich denke dass das auch andere interessieren kann... :?:
jasocul - So 30.12.07 18:59
Soapy hat folgendes geschrieben: |
P.S. Ich weiß dass ich mit meinen vielen Posts langsam nerve |
So ein Quatsch. Du nervst nicht. Das würdest du schon merken, wenn es so wäre.
Soapy - So 30.12.07 23:51
Schön :D
Aber ich hab nochmal ein Problem...
Vorher hat es mir mein Koordinatensystem querformatig ausgedruck, so wie ich es wollte.
Das ist der Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure TLineareFunktionen.Print1Click(Sender: TObject); var ScaleX, ScaleY: Integer; RR: TRect; begin with Printer do begin BeginDoc; try ScaleX := GetDeviceCaps(Handle, logPixelsX) div PixelsPerInch; ScaleY := GetDeviceCaps(Handle, logPixelsY) div PixelsPerInch; RR := Rect(0, 0, Koordinatensystem.picture.Width * scaleX, Koordinatensystem.Picture.Height * ScaleY); Canvas.StretchDraw(RR, Koordinatensystem.Picture.Graphic); finally EndDoc; end; Orientation := poLandscape; end; end; |
Jetzt habe ich den Code so geändert:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| procedure TLineareFunktionen.Print1Click(Sender: TObject); var ScaleX, ScaleY: Integer; RR: TRect; s: string; begin s := Ergebnis.Text; Koordinatensystem.Canvas.TextOut(10,10, s); with Printer do begin BeginDoc; try ScaleX := GetDeviceCaps(Handle, logPixelsX) div PixelsPerInch; ScaleY := GetDeviceCaps(Handle, logPixelsY) div PixelsPerInch; RR := Rect(0, 0, Koordinatensystem.picture.Width * scaleX, Koordinatensystem.Picture.Height * ScaleY); Canvas.StretchDraw(RR, Koordinatensystem.Picture.Graphic); finally EndDoc; end; Orientation := poLandscape; end; end; |
Jetzt druckt es mir zwar mein Ergebnis.Text in das Textout im Koordinatensystem aber wieder hochformatig!!! :evil:
Ich versuche jetzt seit 3-4 Stunden das zu lösen, damit es mir wieder querformatig ausdruck... :evil:
Ich verzweifel noch an diesem Programm :cry:
Bitte helft mir :?:
DrRzf - Mo 31.12.07 00:44
du drehst das format auch erst nach dem ausdruck.
Soapy - Mo 31.12.07 11:11
Ich habs vorher versucht und da hats geklappt!
Naja danke für den Tipp...
Soapy - Mo 31.12.07 15:14
Hey geil... Danke!
Des funktioniert!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!