문자열 길이를 픽셀 단위로 어떻게 변환 할 수 있습니까?
-
19-08-2019 - |
문제
나는 다음과 같은 문자열이 있습니다.
string s = "This is my string";
Telerik 보고서를 작성하고 있으며 textbox
그것이 내 문자열의 너비입니다. 그러나 크기 속성은 장치 (픽셀, 점, 인치 등)로 설정해야합니다. 문자열 길이를 어떻게 변환하려면 픽셀을 말하면 너비를 설정할 수 있습니까?
편집하다: 그래픽 객체에 대한 참조를 얻으려고했지만 이것은 상속 된 수업에서 이루어집니다. 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
. - 그만큼
Width
의Label
올바른 가치를 줄 것입니다.
글꼴에 따라 다릅니다. 문자열 길이는 충분하지 않습니다.
그래픽 객체의 인스턴스를 만들 수 있습니다. MeasureString()
방법. 그러나 글꼴 이름, 글꼴 크기 및 기타 정보를 전달해야합니다.
제휴하지 않습니다 StackOverflow