2010-12-09 4 views
0

현재 텍스트의 기하 도형을 가져 오려면 FormattedText.BuildGeometry()를 사용하고 있습니다.개요 텍스트를 효율적으로 그리는 방법은 무엇입니까?

먼저 두꺼운 펜으로 텍스트 지오메트리를 그린 다음 그 위에 텍스트를 그립니다. 최종 결과는 텍스트에 개요가있는 것 같습니다.

제 문제는 BuildGeometry() 메서드가 매우 시간 소모적이라는 것입니다. 텍스트 외곽선을 효율적으로 그릴 수있는 다른 방법이 있습니까?

답변

1

몇 년 전 내가 J2ME 작업을 할 때, 나는 텍스트가 일부 윤곽이 있는지 확인하기 위해이 방법을 사용 (의사,하지만 쉽게 WPF로 업데이트 할 수 있습니다) : 당신이 원하는

setColor(outlineColor) 
drawText(x - 1, y, text) 
drawText(x + 1, y, text) 
drawText(x, y - 1, text) 
drawText(x, y + 1, text) 

setColor(textColor) 
drawText(x, y, text) 

(가정 x, y 좌표에 텍스트 그리기).

텍스트를 4 번 더 그리는 것이 BuildGeometry를 사용하는 것보다 빠를 것이라고 생각합니다.

+0

개요 가변 폭이 가능합니다. 그래도 좋은 생각. 다른 건 당신이 제안하고 싶어? – Trainee4Life

+0

내가 지금 생각할 수있는 유일한 다른 옵션은 이것을 달성하는 효과를 직접 작성하는 것이지만 이것은 사소한 일이 아니며 적어도 .Net의 효과 중 하나를 시도해보십시오 http://msdn.microsoft.com/en- us/library/system.windows.media.effects.aspx (더 이상 사용되지 않음). HLSL에 익숙하다면 PixelShader를 맞춤 HLSL 프로그램과 함께 사용할 수 있습니다. 미안하지만이 이상으로 도울 수 없어. –