![]() |
Grafik drucken mit Printer.Canvas
Hallo zusammen,
ich wollte eine Grafik drucken mit uses Printers; Printers.Canvas.Draw....... hier mein Quellcode:
Delphi-Quellcode:
Leider wird mir das Bild nicht gezeigt,
Printer.BeginDoc;
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + 'MyPic.bmp'); Printer.Canvas.Draw(250, 250, Image1.Picture.Graphic); Printer.EndDoc; weiss denn jemand wie ich es machen kann, dass das Bild auch wirklich gedruckt wird??? Danke schonmal!! Gruß Manu |
Re: Grafik drucken mit Printer.Canvas
Hallo,
wird das Bild denn wenigstens in das Image geladen? Mit dem Code wird das Bild normalerweise nur sehr klein gedruckt (Verhältnis ~ 1/10) und ist meist gar nicht zu sehen. |
Re: Grafik drucken mit Printer.Canvas
Zitat:
Zitat:
Danke schonmal Gruß Manu |
Re: Grafik drucken mit Printer.Canvas
Dir ist Klar das du die DPI des Druckers umrechnen must ?
Probiere mal
Delphi-Quellcode:
das müste das Bild auf die Ganze Seite Malen.var b:Tbitmap; begin b:= Tbitmap.craete; b.loadfromfile(ExtractFilePath(Application.ExeName) + 'MyPic.bmp'); if b.width = 0 then Showmessage('Bild nicht geladen'); printer.canvas.stretchdraw(rect(0,0,printer.pagewidth,printer.pageheight),b); Printer.enddoc end; |
Re: Grafik drucken mit Printer.Canvas
Zitat:
Auch mit diesem Quellcode bekomm ich gar kein Bild angezeigt - ich habe keine Ahnung woran das liegt.... Hat noch jemand eine Idee, die mit evtl. weiterhelfen könnte?? Danke schonmal. Gruß Manu |
Re: Grafik drucken mit Printer.Canvas
und hiermit?
Delphi-Quellcode:
EDIT: vorher müsstest du natürlich noch das Bild in das Image laden.
procedure PrintImage(iLeft, iTop: integer; Img: TImage);
var GraphicRect: TRect; begin iLeft:= iLeft* 10; iTop:= iTop* 10; ZeroMemory(@GraphicRect, SizeOf(GraphicRect)); GraphicRect.Right:= Img.Picture.Graphic.Width; GraphicRect.Bottom:= Img.Picture.Graphic.Height; printer.begindoc; printer.Canvas.CopyRect(Rect(iLeft, iTop, iLeft+ GraphicRect.Right* 10, iTop+ GraphicRect.Bottom* 10), Img.Canvas, GraphicRect); printer.enddoc; end; procedure TForm1.Button1Click(Sender: TObject); begin PrintImage(50,30,image1); end; |
Re: Grafik drucken mit Printer.Canvas
Zitat:
Damit gehts leider auch nicht .... Gruß, Manu |
Re: Grafik drucken mit Printer.Canvas
Komisch bei mir funktioniert der Code, habe ihn getestet.
|
Re: Grafik drucken mit Printer.Canvas
Zitat:
Gruß, Manu |
Re: Grafik drucken mit Printer.Canvas
Ich meine ich habe den Code mit meinem Drucker getestet und es ist auch was ausgedruckt worden.
Kannst du denn nicht mal ein anderes Bild nehmen und es vorher schon mal in das Image laden und dann nochmal testen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz