![]() |
Canvaseigenschaften an den Druckercanvas kopieren
Hallo zusammen,
ich versuche ein Image, das ich gespiegelt habe, an den Drucker auszugeben. Das Ganze verläuft dann so, dass ich zuerst die benötigten Daten an das Druckercanvas schicke. Anschließend versuche ich die Eigenschaften vom Druckercanvas in ein Imagecanvas zu kopieren, flippe dieses Image horizontal und versuche diese Eigenschaften dann an das Druckercanvas zu kopieren. Das mach ich dann so:
Delphi-Quellcode:
Habe extra das Image gespeichert, um zu sehen ob das auch richtig geflippt wurde. Aber wenn ich das dann an den Drucker rausschicke wird es ungeflippt gedruckt, als ob es nie die Eigenschaften geändert hätte.
procedure FlipCanvasHorizontal(Canvas: TCanvas; rc: TRect);
var C: TImage; begin C := TImage.Create(nil); C.SetBounds(0,0,rc.Right,rc.Bottom); C.Width := rc.Right; C.Height := rc.Bottom; try StretchBlt(C.Canvas.Handle, 0, 0, rc.Right, rc.Bottom, Canvas.Handle, 0, 0, rc.Right, rc.Bottom, SRCCOPY); StretchBlt(C.Canvas.Handle, rc.Right, 0, -rc.Right, rc.Bottom, C.Canvas.Handle, 0, 0, rc.Right, rc.Bottom, SRCCOPY); StretchBlt(Canvas.Handle, 0, 0, rc.Right, rc.Bottom, C.Canvas.Handle, 0, 0, rc.Right, rc.Bottom, SRCCOPY); C.Picture.Bitmap.PixelFormat := pf24bit; C.Picture.Bitmap.SaveToFile('C:\CAM\Flip.bmp'); Canvas.StretchDraw(Rect(0,0,C.Width,C.Height), C.Picture.Graphic); finally C.Free; end; end; Ich hoffe es weiß jemand einen kleinen Rat... Thx & gruß, moony |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 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