2012-11-07 2 views
4

.Net 도구를 사용하여 2D 드로잉을 수행하고 있습니다. System.Drawing.Font은 높이를 픽셀 단위로 반환하는 GetHeight()을 사용합니다. 폭을 검색하려면 GetWidth()이 누락되었습니다. 무엇을 사용해야합니까?System.Drawing.Font 너비를 가져 옵니까?

+4

아마도 [Graphics.MeasureString()] (http://msdn.microsoft.com/en-us/library/6xe5hazb.aspx) 도움이 될 수 있습니다? – Bridge

+1

이 [link] (http://stackoverflow.com/q/4219798/1577396)도 도움이 될 수 있습니다. –

+1

실제로 높이는 실제로 너에게 줄 바꿈을 제공하고 글꼴 높이는 제공하지 않는다. –

답변

8

사용 Graphics.MeasureString Method (String, Font) :

예.

// Set up string. string measureString = "Measure String"; 
    Font stringFont = new Font("Arial", 16); 
    // Measure string. 
    SizeF stringSize = new SizeF(); 
    stringSize = e.Graphics.MeasureString(measureString, stringFont); 
    // This will give you string width, from which you can calculate further 
    double width = stringSize.Width 
4

너비는 어느 정도입니까? GetHeight은 글꼴 자체의 속성 인 텍스트 두 줄의 기준선 사이의 거리를 반환합니다. 그러나 폭은 당신이 쓴 내용에 달려 있습니다.

작성하려는 내용을 알고 있다면 Graphics.MeasureString 메소드를 사용해보십시오.

+0

아, 사실 '나는'물론 'w'보다 작을 수있다. –

+0

그래, 정확히 :) – Rawling

+0

나는 downvote를하지 않았다 –