Autor Beitrag
blattlaus
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Sa 19.08.06 17:46 
hallo,
ich habe in eine paintbox eine zeichnung gemacht und möchte sie nun ausdrucken, die paintbox hat die maße 200 mal 200 pixel und die druckerausgabe sollte 10 mal 10 cm haben.

danke
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Sa 19.08.06 17:59 
Suchet, so werdet ihr finden:
www.delphi-forum.de/...light=canvas+drucken

_________________
Markus Kinzler.
blattlaus Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Sa 19.08.06 18:34 
Titel: paintbox ausdrucken
hallo, danke für die antwort, hatte den link schon vorher gelesen, aber macht was dran, ich kriegs nicht hin.
schreibt mir bitte mal einen Quelltext zum ausdrucken einer paintbox, aber mit skallierten ausdruck, wie oben beschrieben.

vielen dank im vorraus
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Sa 19.08.06 21:33 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure PrintPaintbox (APaintbox: TPaintbox; APrinter: TPrinter; dpi, cm: integer);
var iTargetPixels: integer;
begin
  iTargetPixels := round(dpi / 2.54 * cm);
  with printer do
  begin
     BeginDoc;
     Canvas.StretchDraw(Rect(0,0,iTargetPixels,iTargetPixels),TGraphic(APaintbox.Canvas));
     EndDoc;
  end;
end;

Ich hab es nicht ausprobiert und es einfach mal so heruntergeschrieben. Es wundert mich, dass der Compiler die markierte Stelle akzeptiert. Mal sehen ob es funktioniert. ;) Du musst der Prozedur mit dpi deine Bildschirmauflösung übergeben.

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
blattlaus Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: So 20.08.06 16:23 
hallo marco,
danke für die schnelle antwort, und kommt auch keine fehlermeldung, aber der drucker ziehts papier durch und spuckts wieder aus. das wars.....
kannst du nicht einmal einen kompletten quelltext schreiben...BITTE
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: So 20.08.06 17:58 
Ist jetzt die Frage, ob der Fehler an der Prozedur von mir liegt oder am Aufruf in deinem Programm. Zeig mal deinen Quellcode, in den du die Prozedur eingebaut hast. Und hat die Paintbox auch ein Bild gehabt? ;) Was meinen die anderen denn zu meiner Prozedur?

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
blattlaus Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: So 20.08.06 18:14 
Titel: paintbox
hallo marco,
gib mir mal deine e-mail, ich sende es dir zu, hier gehts irgendwie nicht, hab ich mal länger wie eine halbe minute geschrieben, muß ich mich erneut einloggen, und der eingegebene text ist weg.
blattlaus Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Mo 21.08.06 07:10 
Titel: paintbox-katastrophe
hallo,
jetzt wird mir einiges klar

prozedur tform1.formcreate (sender: tobject);
printer.begindoc;
setmapmode(printer.canvas,mm_lometric);
printer.canvas.rectangle(100,100,1100,1100);
printer.enddoc;




geht nicht...? DARUM

printer.canvas.rectangle(100,-100,1100,-1100);


darum klapps auch nicht mit paintbox,image.....etc
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Mo 21.08.06 11:59 
Hab jetzt nicht verstanden was du mit deinem letzten Post sagen willst und außerdem benutze bitte ma Delphi-Tags. Und in dem Code per PN hattest du meine Prozedur gar nicht verwendet. :roll:

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
blattlaus Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Mo 21.08.06 17:19 
hallo,
äääähhhhhh soll heißen setmapmode(printer.handle,mm_lometric);
macht ein 10+10cm großes rechteck, aber nur mit negativ y-werten. die prozedur von dir geht nicht, weiß nicht warum