MeasureString ohne Form und Image



  • Hi Jungs und Mädels!

    Ich möchte gerne in einer Konsolenanwendung gerne die Größe eines Strings haben. Die Graphics-Klasse bietet mir zum erstellen mehrere From-Methoden, doch ich habe nichts für ein From? Ich habe kein Form (möchte auch keines erstellen - da es Konsole bleiben soll) und ein Image habe ich auch nicht.

    Ich könnte zwar eine 1x1 Bitmap erstellen, aber das wäre nicht so recht im Sinne des Erfinders - denke ich mal 🙂

    using (Graphics graphics = Graphics.From??? ()))
                {
                    SizeF size = graphics.MeasureString ("text", new Font ("Arial", 12));
                    // [...]
                }
    

    Viele Grüße und Dank im voraus. 🙂



  • Du kannst Graphics Objekte nur von Control (oder abgeleiteten Klassen) holen. Es gib noch mehr Möglichkeiten, jedoch wird immer etwas benötigt wo man drauf zeichnen kann und die Konsole zählt nicht dazu.
    http://msdn2.microsoft.com/en-us/library/system.drawing.graphics.aspx



  • Ich hab eine 1x1 Bitmap erstellt, darauf geht das nun einwandfrei. Zwar keine tolle Lösung - aber ich habe kein Control.



  • In der Konsole sind die Buchstaben immer gleichbreit.
    In der Standardeinstellung sind sie 8 Pixelbreit,also kannst du die Grösse einfach berechnen indem du die Anzahl der Buchstaben mal 8 nimmst.



  • @Andorxor
    Nice try, aber das ist total nicht das was ich mache.

    Ich will nur berechnen, wie breit ein String ist mit der Font XYZ in der Größe XYZ. Darstellen werde ich absolut nichts. Ich habe es jetzt mit einer 1x1 Bitmap gelöst und läuft wunderbar.

    Nur weil ich sage: Konsole bedeutet das nicht, das ich auch konsolenbezogene Berechnungen benötige. 😉


Anmelden zum Antworten