QGraphicsTextItem을 만들고 회전합니다. 나는 플래그Qt에서 텍스트 렌더링 4.83.4
mMapView->setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);
렌더링을 사용하지만 회전하지 않을 경우 텍스트 항목은보고 좋다.
어떻게 그것을 해결하기 위해?
고맙습니다.
QGraphicsTextItem을 만들고 회전합니다. 나는 플래그Qt에서 텍스트 렌더링 4.83.4
mMapView->setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);
렌더링을 사용하지만 회전하지 않을 경우 텍스트 항목은보고 좋다.
어떻게 그것을 해결하기 위해?
고맙습니다.
조금 까다 롭습니다. 나는 당신이 Windows에서 일하고 있다고 가정합니다.
당신은
... hintingPreference(QFont::PreferNoHinting)
는 다음 구성과에 직접 기록으로 Qt는 라이브러리를 컴파일 할 필요가에 라인 (75)에 파일
...\src\gui\text\qfont_p.h
에서 힌트 기본값을 변경해야합니다.
configure -opensource -debug-and-release -directwrite
nmake
당신이 1 픽셀 폭으로 선을 그리면 수평 또는 수직으로 잘 될 것입니다 렌더링,
(이 솔루션은 윈도우 XP에서 작동하지 않았다). 그러나 45 °와 같은 각도에서는 앤티 앨리어싱 (앤티 앨리어싱을 사용하는 경우에도) 때문에 추한 것입니다.
텍스트와 동일한 문제입니다. 글꼴 크기가 너무 좁아서 앨리어싱을 피할 수 있습니다.
더 큰 텍스트를 사용하여 문제를 해결할 수 있습니다 ...
이 (작은) 글꼴을 사용해야합니다. Microsoft Word는 왜곡없이 텍스트를 사용할 수 있습니다! – Ilya
어떤 버전의 Windows에서 작동합니까? – moxn
@ niels-franksen, 감사합니다. 조언이 너무 유용합니다! 실행 후 지시문은'font.setLetterSpacing (QFont :: SpacingType :: AbsoluteSpacing, 0.1); 문자 간격을 설정하고 텍스트가 아름답게됩니다! 이 매개 변수를 사용하여 재 컴파일하지 않고 문자 간격을 설정하면 아무 효과가 없습니다. 미안 내 영어. – Ilya
다음 문제 : Windows XP 사용자는 프로그램을 실행할 수 없습니다. Windows XP에서는 DWrite.dll이 없으므로 프로그램을 실행할 수 없습니다. Win 7 및 Win 8 사용자를 위해 멋진 글꼴을 만드는 방법과 Win XP를 찾는 것이 좋지 않은가요? 가능한가? – Ilya