Ich habe das hinbekommen, in dem ich den Umweg über ein Windows-Metafile gehe. Allerdings verwende ich TdxPNGImage der Developer Express-Komponenten:
Delphi-Quellcode:
var
WMF: TMetafile;
MC: TMetafileCanvas;
PNGImage: TdxPNGImage;
begin
PNGImage := TdxPNGImage.Create;
try
PNGImage,LoadFromFile('C:\Temp\Test.png');
WMF := TMetafile.Create;
try
WMF.Width := 1000;
WMF.Height := 1000;
MC := TMetafileCanvas.Create(WMF, 0);
try
// Zeichen der PNG-Grafik
MC.Draw(0,0,PNGImage);
finally
MC.Free;
end;
// Ausgabe auf Drucker
Printer.Canvas.Draw(0,0,WMF);
finally
WMF.Free;
end;
finally
PNGImage.Free;
end;
end;
Vielleicht nützt Dir diese Anregung.
Noch was wichtiges: Oft hängt es vom Druckertreiber ab, ob Transparenzen überhaupt gerendert werden. Der Standard-Windows-Druckertreiber kann es oft nicht. Wir verwenden in solchen Fällen die PostScript-Treiber, sofern welche verfügbar sind.
Gruß
Remo