Thema: Delphi Textausgabe am Drucker

Einzelnen Beitrag anzeigen

brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#1

Textausgabe am Drucker

  Alt 25. Mär 2009, 12:19
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.
  Mit Zitat antworten Zitat