DirectWrite выровнять текстовый центр

Я пытаюсь выровнять текст по центру, который я должен нарисовать. я использую ID2D1RenderTarget :: DrawTextLayout метод. Проблема в том, что если я установлю горизонтальное выравнивание текста на DWRITE_TEXT_ALIGNMENT_LEADING (значение по умолчанию) текст рисуется не совсем правильно, но если я изменю это значение на DWRITE_TEXT_ALIGNMENT_CENTER текст смещен вправо.

Пример строки

Internal Amazing
Scupper

Ниже приведены результаты (первый — выравнивание ведущих):

введите описание изображения здесь
введите описание изображения здесь

0

Решение

Мой комментарий как ответ (да, угадали :)):

Просто быстрое предположение: вы проверили, что максимальная ширина вашего макета коробки
не слишком широк, чтобы центр заканчивался там справа?

IDWriteTextLayout использован ID2D1RenderTarget::DrawTextLayout Метод определяет максимальную ширину поля макета, который определяет, где текст центрируется. Это может быть изменено методы интерфейса (GetMaxWidth а также SetMaxWidth).

3

Другие решения


По вопросам рекламы [email protected]