일부 글꼴이 선택된 장치 컨텍스트가 있으며 ID2D1RenderTarget
의 DrawText
을 사용하고 싶습니다.DirectWrite GDI interop : 'IDWriteFontFace`를 사용하여 텍스트를 그리는 간단한 방법
현재, 나는 다음과 같은 경로가이 acchieve로 이동합니다
- 가
IDWriteFontFace
CreateFontFaceFromHdc
를 통해 가져옵니다. - 기본 시스템 글꼴 모음 (
GetSystemFontCollection
을 통해 얻을 - 다음 단계 참조)을 통해IDWriteFontFace
에서IDWriteFont
을 얻습니다. - 내가 기본 시스템 글꼴 모음을 사용하고자하는 것을 나타내는
IDWriteFont
에 지정된 매개 변수를 공급하고fontCollection
로nullptr
를 지정CreateTextFormat
통해IDWriteTextFormat
를 얻습니다. IDWriteTextFormat
을DrawText
으로 전달하십시오.
내가 이것에 대해 이상한 찾으 이미 첫 번째 단계에서 IDWriteFontFace
있고, 분명히 "위로"와, 단지 DrawTextFormat
에 그 전달하기 위해, IDWriteFont
의 글꼴 모음을 요청해야한다는 것입니다있는 그 다음 DrawText
까지 사용할 수 있습니다. 이것은 불필요하게 복잡해 보입니다 - 특히 텍스트를 그릴 때부터 시스템이 어쨌든 IDWriteFontFace
으로 내려 갔을 것입니다. 맞습니까?
나는 DrawGlyphRun
을 발견했다. baselineOrigin
은 사전에 계산해야합니다 (glyphRun
은 말할 것도 없습니다).
이미 IDWriteFontFace
이있는 경우 ID2D1RenderTarget
에 텍스트를 그릴 수있는 간단한 방법이 없습니까?
실제로 선택한 글꼴 AddFontMemResourceEx()에서 오는 경우 어떻게 될지 잘 모르겠습니다. 이 경우 시스템 콜렉션에서 사용할 수 없습니다. – bunglehead