2011-03-03 4 views
0
gfx.DrawString(
    thisTempLabel.LabelText, 
    new Font("Arial", (float)thisTempLabel.fontSize), 
    Brushes.Black, 
    new PointF(thisTempLabel.x, thisTempLabel.y) 
    ); 

글꼴 크기 (thisTempLabel.fontSize)를 픽셀 단위로 저장한다는 점을 제외하고는 정상적으로 작동합니다. 나는 내 삶이 그들을 개종시키는 방법 (아마 불가능할 수도있다)을 해결할 수 없거나이 문제를 해결하기 위해 무엇을 할 수 없는가?C# 드로잉 텍스트

그들은 일종의 권리를 가지지 만, 적당한 위치에 있지는 않습니다.

정밀도가 매우 중요합니다.

답변

2

난 당신이 발생한 문제가 constructor you're using는 크기가 포인트로 기대하는 것 같아요 :

public Font(FontFamily family, float emSize) 

emSize
유형 : System.Single
전각 크기에 새로운 글꼴의 포인트.

같습니다처럼 할 수 있습니다 당신이 GraphicsUnit.Pixel로 설정할 수 있습니다 GraphicsUnit 매개 변수를 취 use a different overload : 당신이 대략이다 전각의 크기를 설정하는

gfx.DrawString(
    thisTempLabel.LabelText, 
    new Font("Arial", (float)thisTempLabel.fontSize, GraphicsUnit.Pixel), 
    Brushes.Black, 
    new PointF(thisTempLabel.x, thisTempLabel.y) 
); 

주,의 높이를 "M"문자.

+0

감사합니다. 이 코드를 사용하려면 어떻게 수정해야합니까? 나는 msdn 문서를 혼란스럽게 생각합니다 : S –

+0

예제를 추가했습니다. – notJim