Einzelnen Beitrag anzeigen

philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
890 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Bild in TImage auf dem Drucker ausdrucken

  Alt 29. Jul 2021, 22:43
Folgender Code funktioniert bei mir tadellos (FMX-App unter Windows):

Delphi-Quellcode:
var
  image:TImage;
  txt:String;
  printDialog:TPrintDialog;
  ...
  image:=...;
  txt:='...';

  printDialog:=TPrintDialog.Create(nil);
  printDialog.FromPage:=1;
  printDialog.ToPage:=1;
  printDialog.MinPage:=1;
  printDialog.MaxPage:=1;
  printDialog.PrintRange := TPrintRange.prAllPages;
  if printDialog.Execute() Then
  begin
    Printer.Title:=txt;
    Printer.ActivePrinter;
    Printer.ActivePrinter.SelectDPI(600,600);
    Printer.Canvas.Fill.Color := TAlphaColors.Black;
    Printer.Canvas.Fill.Kind := TBrushKind.Solid;
    Printer.BeginDoc;
    Printer.Canvas.Font.Size:=120;
    Printer.Canvas.FillText(RectF(0,0,Printer.PageWidth,Printer.PageWidth/20),txt,True,1,[],TTextAlign.Leading,TTextAlign.Leading);
    Printer.Canvas.DrawBitmap(Image.bitmap,
                              RectF(0,0,Image.bitmap.Width,Image.bitmap.Height),
                              RectF(0,Printer.PageWidth/20,Printer.PageWidth/3,Printer.PageWidth/10+Printer.PageWidth/3),1,false);
    Printer.EndDoc;
  end;
  printDialog.Free();
  Mit Zitat antworten Zitat