Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Fontsize Problem mit Textanzeige Komponente wie Nadeldrucker (https://www.delphipraxis.net/78801-fontsize-problem-mit-textanzeige-komponente-wie-nadeldrucker.html)

backdraft 11. Okt 2006 10:29


Fontsize Problem mit Textanzeige Komponente wie Nadeldrucker
 
Hallo zusammen,

ich bin gerade dabei eine Komponente zu basteln, die eine Textdatei so anzeigt, wie ein Nadeldrucker das Drucken würde.
Probleme macht mir die Font.Size Eigenschaft.

Die Nadeldrucker haben im Gegensatz zu den Windows Druckern nur eine Angabe der CPI (Chars per Inch) und sind Fixed Fonts.

Da diese immer ein Integer sein muss, habe ich jetzt das Bild in einer hohen Größe erzeugt, die Schriften in den größen 9 - 18 genommen (und gezeichnet) und das ganze dann wieder runterscalliert.
Das ganze funktioniert auch eigentlich ganz gut. Zum runterscallieren habe ich die GraphicEx Library genommen.

Das Problem ist, dass das ganze sehr lange dauert um eine Seite anzuzeigen (quasi so 5 Sekunden pro Seite).

Mein Ansatz das Problem in den Griff zu bekommen war, das ich direkt die Fontsize richtig berechne, aber diese ist ja kein Float :-(

Weiss jemand was ich dabei machen kann?

Vlt hat jemand auch eine ganz andere Lösung.

Bin für jeden Tipp dankbar
Oliver

marabu 12. Okt 2006 06:00

Re: Fontsize Problem mit Textanzeige Komponente wie Nadeldru
 
Guten Morgen Oliver,

wenn du mit den Standard-CPI Werten 10 und 12 arbeitest, dann verwende einen monospace font (modern family: Courier New, Bitstream Vera Sans Mono) und wähle die point size nach der Formel 120 / pitch. Ich denke, dass es nicht auf das type face ankommt, sondern eher auf die 1:1 Wiedergabe der Textformatierung. Kommst du so nicht zu einem ansprechenden Ergebnis, dann könnte die Installation spezieller Fonts eine Lösung sein.

Grüße vom marabu

eisblock 12. Okt 2006 10:26

Re: Fontsize Problem mit Textanzeige Komponente wie Nadeldru
 
Naja, inches auf Bildschirmen sind ohnehin immer relative Werte.. Von daher wirst du ohnehin kein unbedingt gleichmäßiges Ergebnis bekommen.. Mir würde zumindest spontan eher nichts passendes einfallen.
MfG

xaromz 12. Okt 2006 10:53

Re: Fontsize Problem mit Textanzeige Komponente wie Nadeldru
 
Hallo,
Zitat:

Zitat von backdraft
Mein Ansatz das Problem in den Griff zu bekommen war, das ich direkt die Fontsize richtig berechne, aber diese ist ja kein Float :-(

Dieses Problem hat schon so manchen geärgert, z. B. beim Programmieren einer Druckvorschau. Die gängige Lösung besteht darin, auf ein TMetafile zu zeichnen und dann dieses zu skalieren. Wenn Du aber die FontSize direkt als Float angeben willst, kann ich Dir GDI+ empfehlen. Damit habe ich gute Erfahrungen gemacht (auch wenn das naturgemäß nicht besonders schnell ist).

Gruß
xaromz


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 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-2025 by Thomas Breitkreuz