Entwickler-Ecke
Sonstiges (Delphi) - Printer page height/width
JeanvanHees - Di 08.10.02 09:38
Titel: Printer page height/width
Morgen AUQ, :wink2:
Wie ändere ich diese?
Das hier geht nicht:
Quelltext
1:
| Printer.PageHeight:=number; |
Weil es einen read-only property ist.
Ich möchte gern von einen selbst gemachten image einen ausdruck von dieselbe größe als das image auf den schirm (was auf den printer mehrere pages enthält).
LCS - Di 08.10.02 09:43
Titel: Re: Printer page height/width
Morgen
| JeanvanHees hat folgendes geschrieben: |
Wie ändere ich diese?
|
Anderes Papier in den Drucker legen :mrgreen:
Und jetzt im Ernst: Die Eigenschaft Height/Width sind doch abhängig von der Papiergrösse im Drucker, bzw dem was für den Drucker eingestellt ist. Da kannst du IMHO nix dran drehen.
Gruss Lothar
JeanvanHees - Di 08.10.02 09:51
Ich glaub du verstehst das problem nicht.
Ich kriege superkleines auf den papier.
Und ich denke das ich die größe auf die pageheight/width art ändern kann, aber das ist die falsche art.
HILFE :autsch: ///cooler smilie!
LCS - Di 08.10.02 10:01
Ach so. :roll: Dann wirst du wohl deine Ausgabe entsprechend skalieren müssen. Leider kannst du das nicht einfach mit einer Anpassung von Height und Width machen.
Ich nehme an du möchtest irgendwas drucken, was du auch auf den Bildschirm zeichnest. Dann müsstest du von den ca. 72 DPI des Bildschirms (weiss net ob das korrekt ist) auf die 300 oder 600 DPI deines Druckers umrechnen.
Gruss Lothar
JeanvanHees - Di 08.10.02 10:06
Wie kann ich denn das totale image vergrößern ohne das ich alle sachen die ich zeichne vergrößern muß?
LCS - Di 08.10.02 11:46
Hi
hab ich selbst noch nie gemacht, aber vielleicht hilft dir ja TCanvas.StretchDraw. Damit kannst du eine Grafik in einem definierten Rechteck ausgeben.
Gruss Lothar
JeanvanHees - Di 08.10.02 14:01
:autsch:
Ich wird das verdammte ding nie ordentlich ausprinten können.
Wenn ich mit einen Rect anfange sowie copyrect krieg ich nur ein weisses papier.
Aber mit
Quelltext
1: 2:
| BitBlt(Printer.Canvas.Handle,0,0,Printer.PageWidth,Printer.PageHeight, Mainform.Image2.Canvas.Handle,0,0,SRCAND); |
Kann ich nichts an die größe ändern.
:autsch:
Delete - Di 08.10.02 14:34
StrechtBlt?
Und laß doch endlich mal den armen Smily in Ruhe, der hat doch bestimmt schon Kopfschmerzen. :shock:
JeanvanHees - Di 08.10.02 14:47
StrechtBlt?
Und dan?
Der compiler erkennt ihn nicht, oder muß ich noch einen file includen?
Delete - Di 08.10.02 14:54
Sorry, die API scheint TCanvas nicht zu unterstützen. Aber warum geht StrechtDraw nicht? Das sollte dein Problem doch lösen. :roll:
JeanvanHees - Di 08.10.02 15:00
Ist schon gut, wir waren beide ein bisschen ...duuh!!!
Es ist nämlich StretchBlt nicht StrechtBlt.
Aber ich krieg damit ein weisses papier.
Ich verstehe nicht...Warum geht es immer falsch wenn ich eine function gebrauche die größe ändern kann?
:autsch: ...Es ist schön smilies zu mishandeln wenn mann frustriert ist
Delete - Di 08.10.02 15:06
Poste doch einfach mal etwas Code.
Und laß den Smily endlich in Ruhe :x.
JeanvanHees - Di 08.10.02 15:11
Das hier funktioniert, aber ist superklein
Quelltext
1: 2:
| BitBlt(Printer.Canvas.Handle,0,0,Printer.PageWidth,Printer.PageHeight, Mainform.Image2.Canvas.Handle,0,0,SRCAND); |
Das hier sollte das sein was mir weiterhilft, aber ich kriege ein weisses papier
Quelltext
1: 2: 3:
| StretchBlt(Printer.Canvas.Handle,0,0,Printer.PageWidth,Printer.PageHeight, Mainform.Image2.Canvas.Handle,0,0,Mainform.Image2.Width, Mainform.Image2.Height,SRCAND); |
Ich werde wieder lieb zu den smilies sein wenn du mir weiterhelfen kannst,ok? :dance:
JeanvanHees - Di 08.10.02 15:18
Immer noch weiss.
Ich könnte dir ein printscreen schicken von das image....
Delete - Di 08.10.02 15:32
Zeig mal die ganze Routine. Ich komme mit dem Printer-Objekt nicht klar.
JeanvanHees - Di 08.10.02 15:35
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TMainform.Button1Click(Sender: TObject); begin Printer.Orientation:=poLandscape; Printer.BeginDoc; {StretchBlt(Printer.Canvas.Handle,0,0,Printer.PageWidth,Printer.PageHeight, Mainform.Image2.Canvas.Handle,0,0,Mainform.Image2.Width, Mainform.Image2.Height,SRCCOPY);} BitBlt(Printer.Canvas.Handle,0,0,Printer.PageWidth,Printer.PageHeight, Mainform.Image2.Canvas.Handle,0,0,SRCCOPY); Printer.EndDoc; end; |
Delete - Di 08.10.02 15:44
Ein Bitmap im Icon Format riesen groß:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Button1Click(Sender: TObject); var rect: TRECT; begin Printer.BeginDoc; rect.Top := 0; rect.Left := 0; Rect.Right := Printer.PageWidth; Rect.Bottom := Printer.PageHeight; Printer.Canvas.StretchDraw(rect, Image1.Picture.Graphic); Printer.EndDoc; end; |
JeanvanHees - Di 08.10.02 15:53
Tja, Ich weiß das es schöne functionen für TGraphic gibt in diesen fall, aber Ich muß es für TCanvas oder TCanvas.Handle am functionieren haben.
Ich muß jetzt gehen, ich kann erst wieder morgen antworten.
Ich bin jedoch für jede hilfe bisher; oder weitere hilfe dankbar.
Bis Morgen :wink2:
Delete - Di 08.10.02 15:58
Wie so _muß_? Du willst doch den Inhalt eines Images ausdrucken oder? Und so geht das eben.
JeanvanHees - Mi 09.10.02 08:40
Erstmal gutenmorgen, :wave:
Ich habs mal probiert, mit den Stretchdraw...aber ich krieg schon wieder nur ein weisses papier.... :x
Delete - Mi 09.10.02 12:35
Keinen Plan was du da machst. Bei mir geht der Code. Ist Tinte in der Patrone? Ist es ein nicht _weißes_ Image?
Und wie gesagt, ich ahtte damit ein 32 x 32 Pixel großes Bitmap ausgedruckt und es warr dann so breit wie ein DINA4 Blatt.
JeanvanHees - Mi 09.10.02 12:44
Ich habs hiermit am laufen:
Quelltext
1: 2: 3: 4:
| StretchBlt(Printer.Canvas.Handle,0,0, Trunc(Mainform.Image2.Width*29.5), Trunc(Mainform.Image2.Height*29.5),Mainform.Image2.Canvas.Handle ,0,0,Mainform.Image2.Width*10,Mainform.Image2.Height*10,SRCCOPY); |
Mann muß die Width und Height multiplizieren mit einen wert.
Das fremde ist, wenn man mit 1 multipliziert(also eigentlich nicht multiplizieren) sieht mann garnichts...noch nicht mal etwas ganz kleines.
Also ich finde das mit den printen eine ziemliche niete von Borland.
Naja, jetzt hab ich's jedenfalls.
Danke für die hilfe Luckie! :)
Tschüß! :dance2:
Delete - Mi 09.10.02 12:53
Wie groß ist denn das Image ursprünglich?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!