文字列の長さをピクセル単位に変換するにはどうすればよいですか?
-
19-08-2019 - |
質問
次のような文字列があります:
string s = "This is my string";
Telerikレポートを作成していますが、文字列の幅であるtextbox
を定義する必要があります。ただし、サイズプロパティはUnit(Pixel、Point、Inchなど)に設定する必要があります。文字列の長さをピクセルなどに変換して、幅を設定するにはどうすればよいですか?
編集:グラフィックオブジェクトへの参照を取得しようとしましたが、これはTelerik.Reporting.Report
を継承するクラスで実行されます。
解決
コントロールまたはフォームを使用せずに:
using (System.Drawing.Graphics graphics = System.Drawing.Graphics.FromImage(new Bitmap(1, 1)))
{
SizeF size = graphics.MeasureString("Hello there", new Font("Segoe UI", 11, FontStyle.Regular, GraphicsUnit.Point));
}
またはVB.Netで:
Using graphics As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(New Bitmap(1, 1))
Dim size As SizeF = graphics.MeasureString("Hello there", New Font("Segoe UI", 11, FontStyle.Regular, GraphicsUnit.Point))
End Using
他のヒント
Size textSize = TextRenderer.MeasureText("How long am I?", font);
この場合、通常は汚いが簡単な方法を使用します:
- 目に見えない
Label
を追加し、そのAutoSize
プロパティがtrue
-汚い仕事-であること。 - 特定の文字列に対して
Width
を使用する場合は、Label.Text
に設定します。 - <=>の<=>は、正しい値を提供します。
フォントにも依存します。文字列の長さが十分ではありません。
MeasureString()
メソッドを使用して、グラフィックスオブジェクトのインスタンスを作成できます。ただし、フォント名、フォントサイズ、その他の情報を渡す必要があります。
所属していません StackOverflow