AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Schriftberechnung

Ein Thema von Dunkelbunt27 · begonnen am 13. Feb 2011 · letzter Beitrag vom 13. Feb 2011
Antwort Antwort
Benutzerbild von Dunkelbunt27
Dunkelbunt27

Registriert seit: 10. Aug 2010
232 Beiträge
 
Delphi XE Professional
 
#1

Schriftberechnung

  Alt 13. Feb 2011, 10:28
Hallo Delphi-Praxis,

Ich möchte für mein Programm, dessen Größe man verändern kann die Schriftgröße ausrechnen, dazu muss ich das Verhältnis der Schriftgröße ermitteln.
Vorher muss ich aber ersteinmal Schrift zum Test ausgeben(unsichtbar, ist aber nicht das Problem) und dann die Abmessungen in Pixel in X und Y Richtung ermitteln.

Der Rest (Verhältnis ausrechnen) ist dann mein Problem und dann nicht weiter schwierig.

Hat jemand einen guten Ansatz/Idee oder konkrete Lösungsvorschläge dazu?

FG Dunkelbunt

Geändert von Dunkelbunt27 (13. Feb 2011 um 10:33 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Schriftberechnung

  Alt 13. Feb 2011, 10:41
Man kann doch eine Form skalieren lassen ScaleBy , bringt das nicht den gewünschten Effekt?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Dunkelbunt27
Dunkelbunt27

Registriert seit: 10. Aug 2010
232 Beiträge
 
Delphi XE Professional
 
#3

AW: Schriftberechnung

  Alt 13. Feb 2011, 10:48
Könntest du mir ein Beispiel geben, wie ich ein Rechteck skaliere und die Maße des Buchstaben A errechne?
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: Schriftberechnung

  Alt 13. Feb 2011, 10:53
Meinst du etwas in der Art Canvas.Textwidth /Height oder Canvas.Textrect mit tfCalcRect ...
Wenn Du Labels hast mit Autosize kannst Du Clientrect direkt abfragen, oder meinst Du etwas ganz anderes?
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.161 Beiträge
 
Delphi 12 Athens
 
#5

AW: Schriftberechnung

  Alt 13. Feb 2011, 10:54
Delphi-Referenz durchsuchenTForm.Font, wenn die untergeordneten Elemente dieses erben, dann änderst du auch deren Schrift.

Zitat:
Vorher muss ich aber ersteinmal Schrift zum Test ausgeben(unsichtbar, ist aber nicht das Problem) und dann die Abmessungen in Pixel in X und Y Richtung ermitteln.
ähhhhhh, wozu willst du den ausgeben, wenn du es eh nicht anzeigen willst?
z.B. http://www.delphipraxis.net/11102-la...es-string.html
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Schriftberechnung

  Alt 13. Feb 2011, 10:55
Bei ScaleBy wird nur der Skalierungsfaktor mitgegeben und der Rest passiert von selber.
Delphi-Referenz durchsuchenTWinControl.ScaleBy
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Dunkelbunt27
Dunkelbunt27

Registriert seit: 10. Aug 2010
232 Beiträge
 
Delphi XE Professional
 
#7

AW: Schriftberechnung

  Alt 13. Feb 2011, 11:03
Danke für die vielen Antworten, also:

Zitat:
ähhhhhh, wozu willst du den ausgeben, wenn du es eh nicht anzeigen willst?
Ich möchte die Schrift erst unsichtbar ausgeben um das Schriftgrößen-Formgrößen-Verhältnis auszurechnen um dann bei der "richtigen" Schrift leicht mit der FormGröße die Schriftgröße ermitteln zu können.

Zitat:
Bei ScaleBy wird nur der Skalierungsfaktor mitgegeben und der Rest passiert von selber.
<edit> Wenn man damit die Schriftgröße so einfach verändern kann/könnte wäre es super, muss ich aber erst testen </edit>

Zitat:
TForm.Font, wenn die untergeordneten Elemente dieses erben, dann änderst du auch deren Schrift.
Ich glaube das suche ich nicht...
Zitat:
Art Canvas.Textwidth /Height
Zitat:
Labels hast mit Autosize
Klingt interessant... Der Text wird zum Schluss auf einem Image gezeichnet, deshalb die Anpassung der Schrift, da man praktisch zoomen kann.
Mal schauen, ob es sinnvoll ist zum Test ein Label mit Autosize zu verwenden...

<edit> Um die Schrift zu skalieren, muss ich doch eine X-Ausdehnung und Y-Ausdehnung der Schrift als Eigenschaft haben, oder? Gibt es diese? Oder bin ich jetzt völlig falsch? </edit>


<edit2>
Ich habe im Hintergrund ein unsichtabres Panel, mit Autosize, darauf wird dann ein Zeichen (bsp: 'A') geschrieben und ich lese die Breite und Hoehe des Panels ab. Das Panel nutzt aber sein AutoSize nicht wie ich es möchte.... Es bleibt bei der von mir eingestellten Breite/Höhe....
Ein Label funktioniert hierbei besser.
</edit2>

Geändert von Dunkelbunt27 (13. Feb 2011 um 13:24 Uhr)
  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 13:46 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