Moin,
ich stehe vor einem Problem, zu dem es zwar viele beiträge gibt, aber die bei mir interessanterweise nicht fruchten wollen, oder ich habe einen zu großen Denkfehler.
Wenn ich nach Delphi TImage Drucken google, erhalte ich viele ergebnisse, auch aus dem Forum, mit jeder menge Code beispiele, aber all diese wollen bei mir nicht zum gewünschten Ergebnis führen.
Ich habe im TImage24 über die Eigenschaft Picture ein Bild Geladen, also nicht zur Laufzeit aus einer Datei und dieses möchte ich nun gerne auf meinem Drucker, zum Testen nutze ich einen PDF Printer, ausgeben.
leider bleibt das Blatt immer weiß.
Mein Code:
Code:
procedure TForm4.Button1Click(Sender: TObject);
var
ScaleX, ScaleY: Integer;
RR: TRect;
begin
if PrintDialog1.Execute then
begin
//Printer.Title := 'Bild Drucken Delphi';
Printer.Orientation := poPortrait;
Printer.BeginDoc;
Printer.Canvas.TextOut (0, 0, ' ');
SetMapMode (Printer.Canvas.Handle, MM_LOMETRIC);
Printer.Canvas.Font.Name := 'Arial';
SetTextAlign (
Handle, TA_LEFT + TA_TOP);
Printer.Canvas.Font.Size := 8;
Printer.Canvas.TextOut(200, -50, 'Test');
try
ScaleX := GetDeviceCaps(Printer.Handle, logPixelsX) div PixelsPerInch;
ScaleY := GetDeviceCaps(Printer.Handle, logPixelsY) div PixelsPerInch;
RR := Rect(0, 0, Image24.picture.Width * scaleX, Image24.Picture.Height * ScaleY);
Printer.Canvas.StretchDraw(RR, Image24.Picture.Graphic);
finally
Printer.EndDoc;
end;
end
end;
Eventuell kann mir hier ja jemand bei meinem Problem helfen, bzw. Sieht wo mein Fehler liegt.
Nutze Embarcadero® Delphi 10.4 Version 27.0.40680.4203 als Community Edition
Mit freundlichem Gruß
x86DOS