2014-05-23 3 views
3

최근에 JavaFX 8의 색상 불일치에 대한 질문을했습니다 : Color Mismatch In JavaFX8 Labels 이것은 적절한 경로에서 시작되었지만 서브 픽셀 렌더링을 비활성화하는 방법을 알 수는 없습니다. 나는 눈에 띄는 효과가없는 -fx-font-smoothing-type: gray-fx-font-smoothing-type: lcd을 시도했습니다. 나는이 주제에 대한 연구를 해왔지만, 나는 아무 것도 생각해 내지 못했다.서브 픽셀 렌더링을 비활성화하는 방법은 무엇입니까?

답변

2

질문에 대한 직접적인 대답은 시스템 속성 플래그가 있다는 것입니다. 사용자가 설정할 수 있습니다.

-Dprism.lcdtext=false 

이렇게하면 하위 픽셀 렌더링이 해제되어 있어야합니다. 이 플래그는 공식적으로 문서화되거나 지원되는 플랫폼의 일부가 아니므로 나중에 변경되거나 제거 될 수 있습니다.

시스템 정보의 setting에 대한 정보

서브 픽셀 렌더링은 아주 미묘한 효과이므로 실제로 차이점을 확인하려면 응용 프로그램을 스크린 샷하고 MS 페인트와 같은 도구를 사용하여 픽셀을 확대하여 색상 차이를 확인하십시오.

일부 환경 (예 : OS X)에서 JavaFX 기본 구성은 나머지 OS가 일반적으로 텍스트를 렌더링하는 방식이므로 서브 픽셀 렌더링을 비활성화하는 것입니다. 일반적으로 JavaFX는 일반적으로 기본 OS 텍스트 렌더링을 매우 가깝게 일치 시키려고합니다.


글꼴 렌더링 힌트 조정은 놀라 울 정도로 복잡하며 합리적 과학에서 멀리 떨어져 있습니다. 서브 픽셀 렌더링을 꺼도 텍스트에는 여전히 앤티 엘리 어싱 및 기타 조정이 적용된다는 것을 알고 있습니다. 예를 들어 Windows 7 및 Java 8에서 JavaFX는 ClearType과 같은 OS 관련 텍스트 렌더링 시스템을 사용하므로 OS의 글꼴 렌더링 구성을 조정하면 JavaFX에서 글꼴이 렌더링되는 방식이 변경 될 수 있습니다.

+0

어떻게하면이 명령을 입력 할 수 있습니까? 또한 FX 개발팀에게이 문제를 제기해야합니까? –

+0

시스템 속성을 설정하는 방법에 대한 링크에 대한 답변이 업데이트되었습니다. FX 개발 팀에 문제가 있다고 생각하지 않습니다. 나는 JavaFX의 텍스트 렌더링이 잘 작동하고 설계된 것 같다. – jewelsea

관련 문제