![]() |
Problem beim Drucken von *.wmf (mehrmals das selbe Bild)
Hallo,
ich konnte zu meinem Problem leider nicht find, was mich weiter bringen konnte. Vielleicht hat von euch ja jemand die Lösung. Nun zu meinem Problem: ich möchte ein Logo, das ich als *.wmf in ein TImage geladen habe, mehrmals auf eine Seite drucken. Klappt auch soweit, allerdings ist ab dem zweiten Logo alles verzerrt. Ich glaube es lieg daran, dass ich das TRect nicht initialisiere. Leider habe ich keine Ahnung wie das funktioniert. Oder liegt es vielleicht ganz wo anders dran? Ich bin über jede Hilfe dankbar!
Delphi-Quellcode:
procedure printCart;
var rect : TRect; begin with Printer.Canvas do begin rect := (Bounds(x,-y,(x+400),-(y+180))); StretchDraw(rect,FormMain.ImageLogoRot.Picture.Metafile); end; end;
Delphi-Quellcode:
das ist der Code-Auszug, um den es geht. Vielen Dank im Voraus.
y := 100;
x := 200; z := 1; Table1.First; while not Table1.Eof do begin printCart; Table1.Next; if z/2 = Round(z/2) then begin y := y + 500; x := 200; end else x := 1000; z := z + 1; end; |
Re: Problem beim Drucken von *.wmf (mehrmals das selbe Bild)
Du weißt ja was "bounds" macht?
Bounds erstellt ein Rechteck mit an Position X,Y mit einer Breite und einer Höhe. Ersetze "Bounds" durch "Rect". Hoffe das hilft... |
Re: Problem beim Drucken von *.wmf (mehrmals das selbe Bild)
Danke erstmal! Aber das klappt leider nicht. Ohne Bounds geht es gar nicht. Das erste Logo wird auch perfekt angezeigt. Ab dem zweiten verzehrt sich dann jedes Logo ein kleines Stück mehr.
|
Re: Problem beim Drucken von *.wmf (mehrmals das selbe Bild)
Zitat:
wäre schön wenn du hier jetzt noch sagen würdest was genau nicht klappt! An sich wird es an der Benennung deiner Variablen liegen, wenn du innerhalb der Prozedur einen Namen verwendest, wird dieser erst in den lokalen Variablen (und Funktionen) gesucht, danach in den globalen Variablen und erst dann in den anderen Untis. Deswegen einfach die Variable umbenennen und/oder das rect qualifizieren:
Delphi-Quellcode:
oder
procedure printCart;
var buffer : TRect; begin with Printer.Canvas do begin buffer := (rect(x,-y,(x+400),-(y+180))); StretchDraw(rect,FormMain.ImageLogoRot.Picture.Metafile); end; end;
Delphi-Quellcode:
Gruß Der Unwissende
procedure printCart;
var rect : TRect; begin with Printer.Canvas do begin rect := (Classes.Rect(x,-y,(x+400),-(y+180))); StretchDraw(rect,FormMain.ImageLogoRot.Picture.Metafile); end; end; |
Re: Problem beim Drucken von *.wmf (mehrmals das selbe Bild)
Vielen Dank! Da weiß "Der Unwissende" mehr als ich. ;-)
Mit der zweiten Lösung klappt es perfekt. thx |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 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 by Thomas Breitkreuz