FMXPrinting (C++)
Contents
Description
This example shows how to print an image from a FireMonkey application. This example consists of a form, a button, and an image. When you press the button, the image is printed to the attached printer, with the specified printing resolution (DPI).
Please refer to the Printing from a FireMonkey Application topic for more information regarding printing in FireMonkey applications.
Code
void __fastcall TMyForm::PrintButtonClick(TObject *Sender)
{
  TRectF SrcRect, DestRect;
  TPrinter *Printer = Printer;
  /* Set the default DPI for the printer. The SelectDPI routine defaults
	 to the closest available resolution as reported by the driver. */
  Printer->ActivePrinter->SelectDPI(1200, 1200);
  /* Set canvas filling style. */
  Printer->Canvas->Fill->Color = claBlack;
  Printer->Canvas->Fill->Kind = TBrushKind(1);
  /* Start printing. */
  Printer->BeginDoc();
  /* Set the Source and Destination TRects. */
  SrcRect = Image1->LocalRect;
  DestRect = TRectF(0, 0, Printer->PageWidth, Printer->PageHeight);
  /* Print the picture, on all the surface of the page and all opaque. */
  Printer->Canvas->DrawBitmap(Image1->Bitmap, SrcRect, DestRect, 1);
  /* Finish the printing job. */
  Printer->EndDoc();
}
Uses
- FMX.Printer.TPrinterDevice.SelectDPI ( fr | de | ja )
- FMX.Printer.TPrinter.BeginDoc ( fr | de | ja )
- FMX.Printer.TPrinter.EndDoc ( fr | de | ja )