Fontsize korrekt berechnen

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...

Fontsize korrekt berechnen

Beitragvon corpsman » 6. Nov 2019, 12:11 Fontsize korrekt berechnen

Servus miteinander,

ich bastle gerade an einem Projekt herum, welches Text und Graphiken auf einen Drucker ausgibt.

So Zeichne ich z.B. ein Rechteck, welches auf A4 Ausgedruckt am Ende die Kantenlänge z.B. 2*4cm hat. In dieses Kästchen will ich einen Text schreiben, der Möglichst Groß sein soll.

Nun suche ich nach einer "Besseren" Möglichkeit als diese hier (die Breite des Textes kann ich in meinem Speziellen Fall vernachlässigen, es handelt sich immer um 1 Zeilige Strings:

Code: Alles auswählen
 Procedure TrimFontToHeight(h: integer);
  Var
    s: String;
  Begin
    s := 'Hj';
    canvas.Font.Size := 12; // Irgendwas, nur nicht die "0" die es im default ist.
    While canvas.TextHeight(s) < h Do Begin
      canvas.Font.Size := canvas.Font.Size + 1;
    End;
    While canvas.TextHeight(s) > h Do Begin
      canvas.Font.Size := canvas.Font.Size - 1;
    End;
  End;
--
Just try it
corpsman
 
Beiträge: 1078
Registriert: 28. Feb 2009, 08:54
Wohnort: Stuttgart
OS, Lazarus, FPC: Linux Mint Mate, Lazarus SVN Trunk, FPC 3.0 | 
CPU-Target: 64Bit
Nach oben

• Themenende •

Zurück zu Multimedia



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried