Einzelnen Beitrag anzeigen

A.Griffin

Registriert seit: 17. Feb 2017
94 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Drucken mit Delphi, Font.Size zu Pixel

  Alt 5. Okt 2017, 12:16
Hallo zusammen,

ich arbeite mich gerade in das Drucken mit Delphi ein und habe jetzt zu Testzwecken das gemacht:

Code:
procedure TForm1.btn2Click(Sender: TObject);
var
  printDialog : TPrintDialog;
  myPrinter  : TPrinter;
  size1, size2: TSize;

begin
  // Create a printer selection dialog
  printDialog := TPrintDialog.Create(Form1);

  // If the user has selected a printer (or default), then print!
  if printDialog.Execute then
  begin
    // Use the Printer function to get access to the
    // global TPrinter object.
    // All references below are to the TPrinter object
    myPrinter := printer;
    with myPrinter do
    begin
      // Start printing
      BeginDoc;

      // Set up a large blue font
      Canvas.Font.Size  := 20;
      Canvas.Font.Color := clBlue;

      // Write out the page size
      size1 := Canvas.TextExtent('Page width = '+IntToStr(PageWidth));
      size2 := Canvas.TextExtent('Page height = '+IntToStr(PageHeight));
      Canvas.TextOut(20, 20, 'size1 is x:' + IntToStr(size1.cx) + 'and y:' + IntToStr(size1.cy));
      Canvas.TextOut(20, 190, 'size2 is x:' + IntToStr(size2.cx) + 'and y:' + IntToStr(size2.cy));
      Canvas.TextOut(20, 380, 'Page width = '+IntToStr(PageWidth));
      Canvas.TextOut(20, 570, 'Page height = '+IntToStr(PageHeight));

      // Finish printing
      EndDoc;
    end;
  end;
end;
Ich bekomme da bei mir mit einer Druckereinstellung von 600dpi (Textlänge weggelasssen):
Texthöhe: 187 pixel
Seitenbreite: 4676 pixel
Seitenhöhe: 6814 pixel

Ich nehme mal an, dass Seitenhöhe und -breite nur der beschreibbare Bereich ist. Wären dann:
Seitenbreite: 7,79"
Seitenhöhe: 11,36"

Vom Drucker für A4 angegeben sind 8.3" x 11.7". Stimmt das so?

Jetzt meine Frage. Wie ergibt sich die Texthöhe bei 600dpi, Font.Size := 20 in Pixel?

*edit*

Jetzt habe ich gelesen, dass es ppi und dpi gibt und ich bin durcheinander. Drucker haben dpi und Monitore haben ppi. In was ist dann meine Seitenhöhe, -breite und Texthöhe angegeben?

Geändert von A.Griffin ( 5. Okt 2017 um 12:52 Uhr) Grund: ppi und dpi
  Mit Zitat antworten Zitat