Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Содержит низкоуровневую информацию, используемую для отрисовки выполнения глифа.
Наследование
Интерфейс IDWriteGlyphRunAnalysis наследуется от интерфейса IUnknown . IDWriteGlyphRunAnalysis также имеет следующие типы элементов:
Методы
Интерфейс IDWriteGlyphRunAnalysis содержит следующие методы.
|
IDWriteGlyphRunAnalysis::CreateAlphaTexture Создает альфа-текстуру указанного типа для глифов в заданном ограничивающем прямоугольнике. |
|
IDWriteGlyphRunAnalysis::GetAlphaBlendParams Возвращает свойства альфа-наложения, необходимые для смешивания ClearType. |
|
IDWriteGlyphRunAnalysis::GetAlphaTextureBounds Возвращает ограничивающий прямоугольник физических пикселей, затронутых выполнением глифа. |
Комментарии
Альфа-текстура может быть двухуровневой альфа-текстурой или альфа-текстурой ClearType.
Двухуровневая альфа-текстура содержит один байт на пиксель, поэтому размер буфера для двухуровневой текстуры будет составлять область границ текстуры в байтах. Каждый байт в двухуровневой альфа-текстуре, созданной CreateAlphaTexture , имеет значение DWRITE_ALPHA_MAX (то есть 255) или ноль.
Альфа-текстура ClearType содержит три байта на пиксель, поэтому размер буфера для альфа-текстуры ClearType в три раза больше площади границ текстуры в байтах.
Примеры
В следующем примере кода показано, как создать объект анализа запуска глифа. В этом примере используется пустой запуск глифа.
HRESULT CreateGlyphRunAnalysis(IDWriteFontFace *pFontFace, IDWriteGlyphRunAnalysis **ppGlyphRunAnalysis)
{
HRESULT hr = S_OK;
IDWriteFactory* pDWriteFactory = NULL;
// Create the DirectWrite factory.
hr = DWriteCreateFactory(
DWRITE_FACTORY_TYPE_SHARED,
__uuidof(IDWriteFactory),
reinterpret_cast<IUnknown**>(&pDWriteFactory)
);
DWRITE_GLYPH_RUN emptyGlyphRun = { 0 };
UINT16 glyphIndex = 0;
emptyGlyphRun.fontFace = pFontFace;
emptyGlyphRun.glyphIndices = &glyphIndex;
emptyGlyphRun.glyphCount = 0;
emptyGlyphRun.fontEmSize = 12;
IDWriteGlyphRunAnalysis* pGlyphRunAnalysis = NULL;
if (SUCCEEDED(hr))
{
hr = pDWriteFactory->CreateGlyphRunAnalysis(
&emptyGlyphRun,
1.0f, // pixelsPerDip,
NULL, // transform,
DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC,
DWRITE_MEASURING_MODE_GDI_CLASSIC,
0.0f, // baselineOriginX,
0.0f, // baselineOriginY,
&pGlyphRunAnalysis);
}
*ppGlyphRunAnalysis = pGlyphRunAnalysis;
SafeRelease(&pDWriteFactory);
return S_OK;
}
Требования
| Минимальная версия клиента | Windows 7, Windows Vista с пакетом обновления 2 (SP2) и обновление платформы для Windows Vista [классические приложения | Приложения UWP] |
| Минимальная версия сервера | Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и Обновление платформы для Windows Server 2008 [классические приложения | Приложения UWP] |
| Целевая платформа | Windows |
| Header | dwrite.h |