![]() |
Drucken mit Delphi, Font.Size zu Pixel
Hallo zusammen,
ich arbeite mich gerade in das Drucken mit Delphi ein und habe jetzt zu Testzwecken das gemacht:
Code:
Ich bekomme da bei mir mit einer Druckereinstellung von 600dpi (Textlänge weggelasssen):
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; 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? |
AW: Drucken mit Delphi, Font.Size zu Pixel
Texthöhe hängt von der Schriftart ab.
Delphis
Delphi-Quellcode:
ist lediglich die Schriftgröße in CSS-Pixeln, dies ist definiert als
TFont.Height
Delphi-Quellcode:
, wobei
-TFont.Size * 4 / 3
Delphi-Quellcode:
in CSS-Punkten angegeben ist.
TFont.Size
|
AW: Drucken mit Delphi, Font.Size zu Pixel
Na ja, CSS war erst später...
![]() Ist denke ich eine gute Erklärung Zitat:
|
AW: Drucken mit Delphi, Font.Size zu Pixel
Klar war das erst später. Aber die Einheiten CSS-Punkte und CSS-Pixel sind eindeutig definiert und vielen bekannt.
|
AW: Drucken mit Delphi, Font.Size zu Pixel
Die sog. Didot-Punkte geben an wie groß ein Buchstabe ist (12-Punkt Schrift).
DPI oder PPI sagt Dir wie viele Druck/Leucht-Punkte auf einem Zoll zu Verfügung stehen. (Auflösung) Beide Größen haben zunächst nichts miteinander zu tun. Gruß K-H |
AW: Drucken mit Delphi, Font.Size zu Pixel
Zitat:
Die Schriftgröße in Pixel des aktuellen canvas bekommst du mit ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz