![]() |
AW: png transparent drucken
Hallo,
es tut mir leid aber ich kann es jetzt nicht nachvollziehen warum erst ein Rechteck auf dem Canvas der Bitmap gezeichnet werden soll/muss und dabei Brush.Color clWhite sein sollte.
Delphi-Quellcode:
Anschließend das Bitmap mittels Assign sowieso "überschrieben" wird.
b.Transparent:= false;
b.Canvas.Brush.Color:= clWhite; b.Canvas.Rectangle(0, 0, Image1.Picture.Graphic.Width, Image1.Picture.Graphic.Height); // Rectangle zeichnet meines Wissens über die Eigenschaft Pen nicht Brush
Delphi-Quellcode:
b.Assign (Image1.Picture.Graphic);
Delphi-Quellcode:
Funktioniert bei mir tadellos (ich habe die Eigenschaft Transparent der TImage-Komponente über den Objektinpektor auf True gesetzt). An ein Druckertreiberproblem möchte ich jetzt nicht glauben.
procedure TForm1.Button1Click(Sender: TObject);
var b : TBitmap; begin Image1.Picture.LoadFromFile ('D:\Program Files (x86)\Embarcadero\RAD Studio\10.0\Images\GlyFX\glyFX\glyFX\Icons\Aero\PNG\256x256\arrow_left_256.png'); b := TBitmap.Create; try b.Assign (Image1.Picture.Graphic); Printer.BeginDoc; Printer.Canvas.Draw (20, 20, b); finally FreeAndNil (b); Printer.EndDoc end end; Gruß |
AW: png transparent drucken
Heute morgen funktioniert Dein Lösungsvorschlag.
Schon komisch was sich über Nacht so alles ändern kann! |
AW: png transparent drucken
Hallo Volker,
heute morgen ging Deine Routine wieder nicht. In der Tat hängt es vom Drucker ab. Z.B. funktionert es auf den pdf-Drucker eDocPrintPro 3.17.7, aber nicht auf den pdf-Drucker pdf-Factory 4. png funktioniert nicht auf allen Druckern:
Delphi-Quellcode:
jpg funktioniert:
lPNG:= TPngImage.Create;
lPNG.LoadFromFile(ProgrammOrdner + 'Logo.png'); b:= TBitmap.Create; try b.Assign(lPNG); printer.Canvas.StretchDraw(20, 20, 2500, 2500, b); finally FreeAndNil(b); FreeAndNil(lPNG); end;
Delphi-Quellcode:
jpg funktioniert:
lJPG:= TJPEGImage.Create;
lJPG.LoadFromFile(ProgrammOrdner + 'Logo.jpg'); b:= TBitmap.Create; try b.Assign(lJPG); printer.Canvas.StretchDraw(20, 20, 2500, 2500, b); finally FreeAndNil(b); FreeAndNil(lJPG); end;
Delphi-Quellcode:
lJPG:= TJPEGImage.Create;
lJPG.LoadFromFile(ProgrammOrdner + 'Logo.jpg'); try printer.Canvas.StretchDraw(20, 20, 2500, 2500, lJPG); finally FreeAndNil(lJPG); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:14 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