Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Schriftberechnung (https://www.delphipraxis.net/158314-schriftberechnung.html)

Dunkelbunt27 13. Feb 2011 10:28

Schriftberechnung
 
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

Sir Rufo 13. Feb 2011 10:41

AW: Schriftberechnung
 
Man kann doch eine Form skalieren lassen
Delphi-Quellcode:
ScaleBy
, bringt das nicht den gewünschten Effekt?

Dunkelbunt27 13. Feb 2011 10:48

AW: Schriftberechnung
 
Könntest du mir ein Beispiel geben, wie ich ein Rechteck skaliere und die Maße des Buchstaben A errechne?

Bummi 13. Feb 2011 10:53

AW: Schriftberechnung
 
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?

himitsu 13. Feb 2011 10:54

AW: Schriftberechnung
 
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? :gruebel:
z.B. http://www.delphipraxis.net/11102-la...es-string.html

Sir Rufo 13. Feb 2011 10:55

AW: Schriftberechnung
 
Bei ScaleBy wird nur der Skalierungsfaktor mitgegeben und der Rest passiert von selber.
Delphi-Referenz durchsuchenTWinControl.ScaleBy

Dunkelbunt27 13. Feb 2011 11:03

AW: Schriftberechnung
 
:shock: 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>


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:10 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