Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Textausgabe am Drucker (https://www.delphipraxis.net/131476-textausgabe-am-drucker.html)

brechi 25. Mär 2009 12:19


Textausgabe am Drucker
 
Hallo,
ich versuche gerade Text auf dem Drucker auszugeben. Dabei will ich die Größe (in Pixeln) vom Bildschirm und dem ausgedruckten Text beibehalten.
Wenn ich also Text mit der Schriftgröße 12 auf dem Bildschrim habe und dieser dort 100 Pixel breit ist, dann soll auf dem Drucker ein Text mi der Schriftgröße < 12
mit 100Pixel gezeichnet werden.

Dabei gilt:
* Screen.PixelsPerInch = 96
* Printer.Canvas.Font.PixelsPerInch = 600

Mein erster Gedanke war einfach Printer.Canvas.Font.PixelsPerInch auf 96 setzen, das hat aber keine Auswirkungen beim Ausdruck.

Dann habe ich die Schriftgröße abgeändert:
Printer.Canvas.Font.Size = Round(Form.canvas.Font.Size * Screen.PixelsPerInch / Printer.Canvas.Font.PixelsPerInch)

Dies liefert mit dann die richtige Größe, aber die Anpassung erfolgt dann ja nur stufenweise. (wegen dem Runden)
Bei einer Ausgangsschriftgröße von 6 (Bildschirm) wäre dann ja bei der Umrechnung die Printer.Schrift < 1 und somit gar nicht sichtbar.

Ich fürchte ich mach das gernell falsch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz