2011-02-17 3 views
3

내 안드로이드 애플 리케이션은 텍스트를 약간 다른 방식으로 표시하며 사람들 사이에 약간의 성가신 차이가 있습니다.Android Text Display - Canvas.drawText() 출력 pixelated

"자동"이라는 표시 방법을 사용할 때 텍스트가 매우 잘 표시됩니다. 자동 메소드를 통해 Toast 및 Button 위젯과 같은 툴을 추천하고, 텍스트를 제공하고 운영체제 (또는 "환경"또는 기타)를 표시합니다. 편지는 멋지게 구부러지고,보기에 즐겁고 쉽게 읽을 수 있습니다.

그러나 서체 러너 뷰에서 Canvas.drawText()을 사용하여 텍스트 표시를 처리하는 코드에서는 텍스트 품질이 좋지 않습니다. 텍스트는 여전히 읽을 만하지만 픽셀 화 된 것처럼 보입니다. 편지는 단지 최고로 보이지 않습니다.

예를 들어 Typeface.SANS_SERIF를 사용하여 Paint.setTypeface()으로 실험 해 보았습니다.하지만 내 코드 인 디스플레이의 품질은 항상 좋지 않습니다. 가능하지만 가난한 사람.

이 경험이있는 사람이 있습니까? 혹시 아무도 해결책이 없나요?

답변

14

Paint.setAntiAlias(boolean) 또는 Paint.setSubpixelText(boolean)으로 시도해 볼 수도 있습니다.

+2

setSubpixelText()가 내 코드에 어떤 영향을 주 었는지 모르겠지만 setAntiAlias ​​()는 텍스트에서 효과가있었습니다. 내 코드의 그래픽 부분은 다른 것들 위에 그려진 것들을 가지고 있습니다. 앤티 앨리어싱을 사용하면 결과가 좋고 이상하게 보입니다.하지만 앤티 앨리어싱을 켜고 끄는 것은 전혀 문제가되지 않습니다. 꺼야합니다. 그래서, 대단히 감사합니다 !! – Rich

+0

여러분을 환영합니다! 실제로 서브 픽셀 텍스트 옵션이 정확히 무엇인지는 확실하지 않습니다. 필자가 잘못 생각하지 않는다면 Windows의 LCD 화면 용 ClearType 렌더링과 유사하지만 실제 문서를 찾을 수는 없습니다. – kcoppock

+0

'setSubpixelText'는 SUBPIXEL_TEXT_FLAG을 설정합니다. 여기에 (희박하게) 문서화되어 있습니다 : http://developer.android.com/reference/android/graphics/Paint.html#SUBPIXEL_TEXT_FLAG – CJBS