Autor |
Beitrag |
JeanvanHees
      
Beiträge: 146
win 2000
D6 Pers
|
Verfasst: Di 08.10.02 10:38
Morgen AUQ,
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).
_________________ Cause even though I know things won't get any better, they can certainly never get much worse!
|
|
LCS
      
Beiträge: 1305
Erhaltene Danke: 1
WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
|
Verfasst: Di 08.10.02 10:43
Morgen
JeanvanHees hat folgendes geschrieben: | Wie ändere ich diese?
|
Anderes Papier in den Drucker legen
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
_________________ Der BH ist für die Brust, der Plan ist für'n Ar...
|
|
JeanvanHees 
      
Beiträge: 146
win 2000
D6 Pers
|
Verfasst: Di 08.10.02 10: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  ///cooler smilie!
_________________ Cause even though I know things won't get any better, they can certainly never get much worse!
|
|
LCS
      
Beiträge: 1305
Erhaltene Danke: 1
WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
|
Verfasst: Di 08.10.02 11:01
Ach so.  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
_________________ Der BH ist für die Brust, der Plan ist für'n Ar...
|
|
JeanvanHees 
      
Beiträge: 146
win 2000
D6 Pers
|
Verfasst: Di 08.10.02 11:06
Wie kann ich denn das totale image vergrößern ohne das ich alle sachen die ich zeichne vergrößern muß?
_________________ Cause even though I know things won't get any better, they can certainly never get much worse!
|
|
LCS
      
Beiträge: 1305
Erhaltene Danke: 1
WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
|
Verfasst: Di 08.10.02 12: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
_________________ Der BH ist für die Brust, der Plan ist für'n Ar...
|
|
JeanvanHees 
      
Beiträge: 146
win 2000
D6 Pers
|
Verfasst: Di 08.10.02 15:01
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.

_________________ Cause even though I know things won't get any better, they can certainly never get much worse!
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 08.10.02 15:34
StrechtBlt?
Und laß doch endlich mal den armen Smily in Ruhe, der hat doch bestimmt schon Kopfschmerzen. 
|
|
JeanvanHees 
      
Beiträge: 146
win 2000
D6 Pers
|
Verfasst: Di 08.10.02 15:47
StrechtBlt?
Und dan?
Der compiler erkennt ihn nicht, oder muß ich noch einen file includen?
_________________ Cause even though I know things won't get any better, they can certainly never get much worse!
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 08.10.02 15:54
Sorry, die API scheint TCanvas nicht zu unterstützen. Aber warum geht StrechtDraw nicht? Das sollte dein Problem doch lösen. 
|
|
JeanvanHees 
      
Beiträge: 146
win 2000
D6 Pers
|
Verfasst: Di 08.10.02 16: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?
 ...Es ist schön smilies zu mishandeln wenn mann frustriert ist
_________________ Cause even though I know things won't get any better, they can certainly never get much worse!
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 08.10.02 16:06
Poste doch einfach mal etwas Code.
Und laß den Smily endlich in Ruhe  .
|
|
JeanvanHees 
      
Beiträge: 146
win 2000
D6 Pers
|
Verfasst: Di 08.10.02 16: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? 
_________________ Cause even though I know things won't get any better, they can certainly never get much worse!
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 08.10.02 16:15
Eventuell liegt es am letzten Parameter:
Zitat: |
SRCAND
Combines the colors of the source and destination rectangles by using the Boolean AND operator.
SRCCOPY
Copies the source rectangle directly to the destination rectangle.
|
Probier mal SCRCOPY.
Mehr Infos im MSDN
|
|
JeanvanHees 
      
Beiträge: 146
win 2000
D6 Pers
|
Verfasst: Di 08.10.02 16:18
Immer noch weiss.
Ich könnte dir ein printscreen schicken von das image....
_________________ Cause even though I know things won't get any better, they can certainly never get much worse!
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 08.10.02 16:32
Zeig mal die ganze Routine. Ich komme mit dem Printer-Objekt nicht klar.
|
|
JeanvanHees 
      
Beiträge: 146
win 2000
D6 Pers
|
Verfasst: Di 08.10.02 16: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; |
_________________ Cause even though I know things won't get any better, they can certainly never get much worse!
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 08.10.02 16: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 
      
Beiträge: 146
win 2000
D6 Pers
|
Verfasst: Di 08.10.02 16: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 
_________________ Cause even though I know things won't get any better, they can certainly never get much worse!
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 08.10.02 16:58
Wie so _muß_? Du willst doch den Inhalt eines Images ausdrucken oder? Und so geht das eben.
|
|