AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Schrift dynamisch vergrößern
Thema durchsuchen
Ansicht
Themen-Optionen

Schrift dynamisch vergrößern

Ein Thema von Antigo · begonnen am 3. Nov 2006 · letzter Beitrag vom 4. Nov 2006
Antwort Antwort
Antigo

Registriert seit: 14. Mär 2005
274 Beiträge
 
#1

Schrift dynamisch vergrößern

  Alt 3. Nov 2006, 18:08
Hi,
Ich schreibe grad ein Programm bei dem ich relativ viel mit canvas male. Nun möchte ich in das gemalte aber auch teilweise noch Schrift bzw. Buchstaben/Zahlen bringen. Ich habe dann beispielsweise einen Platz 50 Pixeln in Höhe und Breite und möchte da gerne eine Zahl reinschreiben. Durch ausprobieren kann ich ja rausfinden welche Schriftgröße da reinpasst, aber was mache ich, wenn ich diese Größe dynamisch halten will?
Gibt es eine andere Möglichkeit die Schriftgröße zu verändern als diese + oder - 1 zu rechen? Am liebsten wäre mir es natürlich wenn man direkt die Höhe oder Breite angeben könnte und das ganze automatisch angepasst würde.

Gibt es da irgendeinen Trick?


Vielen Dank schonmal im vorraus
Michael
"How should I know if it works? That's what beta testers are for. I only coded it."
  Mit Zitat antworten Zitat
DocE

Registriert seit: 25. Mär 2004
108 Beiträge
 
#2

Re: Schrift dynamisch vergrößern

  Alt 3. Nov 2006, 18:40
N'Abend Michael,

die direkte Lösung für Dein Problem habe ich zwar nicht, aber wenn ich mich nicht komplett täusche entspricht doch die Schriftgröße (Font.Size) der maximalen Höhe in Pixeln. Dann würde ich diesen Wert als Ausgangspunkt nehmen und "runterzählen", bis es auch in der Breite passt.

Grüsse
...Doc
  Mit Zitat antworten Zitat
Antigo

Registriert seit: 14. Mär 2005
274 Beiträge
 
#3

Re: Schrift dynamisch vergrößern

  Alt 3. Nov 2006, 18:51
Ist das so? Ich habs grad ausprobiert und hatte bei Georgia und Schriftgröße 8, 9Pixel Höhe und bei COurier New und Schriftgröße 8 , 7 Pixel ^^

aber danke schonmal für den Tipp, das ist zumindest ein Ansatz

edit: ich glaub ich hab was gefunden:
http://dsdt.info/tipps/?id=408

wäre dann aber auch nur trial and error, also wenn höhe zu klein dann schriftgröße+1 und so weiter -_-
Michael
"How should I know if it works? That's what beta testers are for. I only coded it."
  Mit Zitat antworten Zitat
Antigo

Registriert seit: 14. Mär 2005
274 Beiträge
 
#4

Re: Schrift dynamisch vergrößern

  Alt 4. Nov 2006, 15:28
falls es wen interessiert: ich hab das ganze jetzt folgendermassen gelöst:

Delphi-Quellcode:
//Schriftgröße festellen
    font.Name:='Courier New';

    font.Size:=1;
    repeat
      if TextHeight('0') < feldbreite - 4 then font.Size:=font.size+1
      else font.Size:=font.size-1;
    until abs(TextHeight('0') - feldbreite) <= 4;
zumindest funktioniert es so. wenn jemand etwas besseres kennt bitte her damit.
Michael
"How should I know if it works? That's what beta testers are for. I only coded it."
  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 18:52 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