Wie bekommt man einen string der Breite
Ich brauchen, um zu bauen eine Funktion in eine Bibliothek-Klasse, die einen string und eine bestimmte schriftart für diesen string dann Holen Sie sich die Breite der Zeichenfolge
So, wie könnte ich dem string die Breite der Grenze ?
- Verbunden werden könnten mit diesem : stackoverflow.com/questions/5553965/...
- Messen der Größe einer Zeichenkette für eine website, klingt fragwürdig. Es gibt keine Möglichkeit zu sagen, welche Größe der browser wird zum anzeigen der Schrift, soweit ich weiß.
- Eine bestimmte schriftart ist nicht genug, um zu wissen. Sie müssen auch wissen, welche renderer wird der text angezeigt. Zum Beispiel Apple und MS render text sehr unterschiedlich, und ich wäre nicht überrascht, wenn die betroffenen die grafische Breite des Textes. Wenn Sie versuchen, um die Breite des angezeigten Textes in html-Format auf der server-Seite(als Ihr tags darauf hindeuten), dass das wahrscheinlich nicht möglich.
- Mögliche Duplikate von Wie konvertiere ich einen string der Länge, um eine pixel-Einheit?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen anderen Weg, dies zu tun ist mit einem
TextRenderer
, und rufen Sie seineMeasureString
- Methode auf, übergeben Sie die Zeichenfolge und den Typ der Schrift.MSDN-Beispiel:
HINWEIS: Dies ist nur eine Alternative Lösung zu den (gleichermaßen gültig) ein schon gepostet @Neil Barnwell
(im Fall, dass Sie bereits einen Verweis auf System.Windows.Formulare in Ihrem Projekt haben, diese könnten bequemer sein).
e.Graphics.MeasureString(...)
Methode.Können Sie sich einen
Graphics
- Objekt (mit Kontrolle.CreateGraphics() auf die container, die Sie beabsichtigen, den text für) und rufenMeasureString()
um dies zu tun. Es ist ein Recht häufiges GDI+Technik.
Mehr Informationen aus der MSDN: http://msdn.microsoft.com/en-us/library/6xe5hazb.aspx
MeasureString
Methode und nun habe ich ein Rückgabe-Wert mit Typ SizeF dann kam es zu PointF und ich weiß jetzt, das Breite, aber in PointF >>> ich brauche ihn nicht in cm ! Ich versuche es zu konvertieren, wie ich denke, die PointF ist wie der Postscript-Punkt, aber ich denke, dass meine Konvertierung Formel ist nicht korrekt >> so, Wie die Konvertierung nach erhalten der poinf Breite !?PointF
ist nur einfloat
Wert für einePoint
(d.h. nicht-ganzzahlige Werte). Umstellung von Punkte auf Zentimeter sollte machbar sein (Punkte->Pixel->dpi->inch->cm?) aber warum müssen Sie Zentimeter?Diese: