Autor Beitrag
JeanvanHees
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 146

win 2000
D6 Pers
BeitragVerfasst: Di 08.10.02 10:38 
Morgen AUQ, :wink2:

Wie ändere ich diese?
Das hier geht nicht:
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Di 08.10.02 10:43 
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

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
JeanvanHees Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 146

win 2000
D6 Pers
BeitragVerfasst: 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 :autsch: ///cooler smilie!

_________________
Cause even though I know things won't get any better, they can certainly never get much worse!
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Di 08.10.02 11: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

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
JeanvanHees Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 146

win 2000
D6 Pers
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 146

win 2000
D6 Pers
BeitragVerfasst: Di 08.10.02 15: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
ausblenden 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:

_________________
Cause even though I know things won't get any better, they can certainly never get much worse!
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 08.10.02 15:34 
StrechtBlt?

Und laß doch endlich mal den armen Smily in Ruhe, der hat doch bestimmt schon Kopfschmerzen. :shock:
JeanvanHees Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 146

win 2000
D6 Pers
BeitragVerfasst: 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



BeitragVerfasst: 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. :roll:
JeanvanHees Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 146

win 2000
D6 Pers
BeitragVerfasst: 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?

:autsch: ...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



BeitragVerfasst: Di 08.10.02 16:06 
Poste doch einfach mal etwas Code.

Und laß den Smily endlich in Ruhe :x.
JeanvanHees Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 146

win 2000
D6 Pers
BeitragVerfasst: Di 08.10.02 16:11 
Das hier funktioniert, aber ist superklein
ausblenden 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
ausblenden 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:

_________________
Cause even though I know things won't get any better, they can certainly never get much worse!
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 146

win 2000
D6 Pers
BeitragVerfasst: 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



BeitragVerfasst: Di 08.10.02 16:32 
Zeig mal die ganze Routine. Ich komme mit dem Printer-Objekt nicht klar.
JeanvanHees Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 146

win 2000
D6 Pers
BeitragVerfasst: Di 08.10.02 16:35 
ausblenden 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



BeitragVerfasst: Di 08.10.02 16:44 
Ein Bitmap im Icon Format riesen groß:
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 146

win 2000
D6 Pers
BeitragVerfasst: 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 :wink2:

_________________
Cause even though I know things won't get any better, they can certainly never get much worse!
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 08.10.02 16:58 
Wie so _muß_? Du willst doch den Inhalt eines Images ausdrucken oder? Und so geht das eben.