Einzelnen Beitrag anzeigen

Benutzerbild von x86DOS
x86DOS

Registriert seit: 19. Jan 2019
7 Beiträge
 
Delphi 10.4 Sydney
 
#1

Bild in TImage auf dem Drucker ausdrucken

  Alt 28. Jul 2021, 21:27
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
  Mit Zitat antworten Zitat