2011-10-22 3 views
2

TextRenderer.DrawText() 대상 직사각형이 너무 작 으면 텍스트의 끝을 그릴 수 있습니까?DrawText를 사용하여 텍스트의 끝을 그립니다.

TextFormatFlags.Bottom 나를 도왔습니다.

다른 말로하면 : 상단 가장자리에 텍스트를 잘리는 방법은 무엇입니까?

+0

상단 가장자리에 있습니까? 잘 모르겠다. 그림이 도움이 될 수 있습니다. – LarsTech

+0

물론, 여기에 있습니다 : http://i.stack.imgur.com/7Se21.png (패널이나 레이블없이 DrawText 만). – Velcro

+0

그냥 음의 Y 좌표를 사용하면 MeasureText에서 가져옵니다. 최고의 라인을 얻는 것은 완벽하게 끝냈다. –

답변

1

"오버플로 영역"의 크기 인 메모리 비트 맵을 만듭니다. 이 오버 플로우 영역에 -Y 코드를 사용하여 텍스트 문자열을 그립니다. 그러면 클립 할 영역과 일직선 인 이미지의 상단을 그립니다. 이미지에 오버 플로우 텍스트가있어서 원하는 위치에 페인트 할 수 있습니다.

예를 들어, 75 픽셀 만 표시 할 수있는 영역에서 100 픽셀 높이의 텍스트를 그리려면 25 픽셀 높이 이미지를 만들고 이미지를 y = -75로 그 텍스트를 그립니다.

+0

내 문제가 해결되었습니다! 그러나 GDI DrawText() 메서드는 (지원되지 않는 서브 픽셀 안티 앨리어싱 때문에) 메모리 내 렌더링과 호환되지 않는 것으로 보이므로 사용하지 않을 것입니다. 다른 방법을 찾아야 해. DrawString을 사용한 렌더링은 동일한 시각적 결과를 제공하지 않습니다. – Velcro

관련 문제