2012-04-30 13 views
5

C#으로 텍스트를 작성하여 필요한 너비 (약)로 작성하려고합니다.C# 주어진 폭으로 문자열의 높이를 계산하십시오.

텍스트를 쓰려면 높이를 지정해야합니다. 그래서 높이로 원하는 길이로 쓸 수 있는지 알아야합니다.

Font myFont = new Font(FontFamily.GenericSansSerif, unknown); 
gc.DrawString(LabelText, myFont, gBrush, 0, 0); 

필자는 다음을 발견하지만, 높이가 필요 FONT 필요합니다. 전체적인 점을 어느 것이 패배 시켰는가?

gc.MeasureString(LabelText, new Font(FontFamily.GenericSansSerif, 12), length); 

예를 들어 "나는 문자열입니다"스트레치 50px로 만드는 데 필요한 높이를 어떻게 결정할 수 있습니까?

+0

여러 가지 글꼴 크기로 'MeasureString'을 선택하고 가장 적합한 것을 선택하십시오. – Oded

+0

그래서 그것의 시행 착오? 나는 문자열을 많이 그리기 ... 각기 다른 크기의, 확실히 여러 번 측정하는 가장 좋은 방법은 아닌가요? – Doomsknight

+1

효율적인 것은 아니지만 합리적인 크기 (픽셀 단위의 너비에서 파생되었을 가능성이 있음)로 시작하는 경우 시련을 최소화 할 수 있습니다. – Oded

답변

4

switchonthecode (메모 - 보관 된 버전) 사이트의 예가 있습니다. 지역의 크기와 함께 최소 및 최대 글꼴 크기를 사용하는 방법을 제공합니다. 그것은 최소 크기를 시도하고 거기에서 글꼴의 비율을 결정한 다음 당신을위한 최상의 크기를 결정합니다.

관련 문제