AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Fontsize Problem mit Textanzeige Komponente wie Nadeldrucker
Thema durchsuchen
Ansicht
Themen-Optionen

Fontsize Problem mit Textanzeige Komponente wie Nadeldrucker

Ein Thema von backdraft · begonnen am 11. Okt 2006 · letzter Beitrag vom 12. Okt 2006
Antwort Antwort
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
335 Beiträge
 
Delphi 11 Alexandria
 
#1

Fontsize Problem mit Textanzeige Komponente wie Nadeldrucker

  Alt 11. Okt 2006, 11:29
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
Oliver
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Fontsize Problem mit Textanzeige Komponente wie Nadeldru

  Alt 12. Okt 2006, 07:00
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
  Mit Zitat antworten Zitat
eisblock

Registriert seit: 11. Dez 2005
Ort: Linderbach
127 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Fontsize Problem mit Textanzeige Komponente wie Nadeldru

  Alt 12. Okt 2006, 11:26
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
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#4

Re: Fontsize Problem mit Textanzeige Komponente wie Nadeldru

  Alt 12. Okt 2006, 11:53
Hallo,
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
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:12 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