IDWriteGlyphRunAnalysis 介面 (dwrite.h)
包含用來轉譯字元回合的低階資訊。
繼承
IDWriteGlyphRunAnalysis介面繼承自IUnknown介面。 IDWriteGlyphRunAnalysis 也有下列類型的成員:
方法
IDWriteGlyphRunAnalysis介面具有這些方法。
IDWriteGlyphRunAnalysis::CreateAlphaTexture 為指定周框內的字元建立指定類型的 Alpha 紋理。 |
IDWriteGlyphRunAnalysis::GetAlphaBlendParams 取得 ClearType 混合所需的 Alpha 混合屬性。 |
IDWriteGlyphRunAnalysis::GetAlphaTextureBounds 取得受圖像執行影響之實體圖元的周框。 |
備註
Alpha 紋理可以是雙層級 Alpha 紋理或 ClearType Alpha 紋理。
雙層級 Alpha 紋理包含每圖元一個位元組,因此雙層級紋理的緩衝區大小會是紋理界限的區域,以位元組為單位。 CreateAlphaTexture所建立的雙層級 Alpha 紋理中的每個位元組都設定為 DWRITE_ALPHA_MAX (,也就是 255) 或零。
ClearType Alpha 紋理包含每個圖元的三個位元組,因此 ClearType Alpha 紋理的緩衝區大小是紋理界限的三倍,以位元組為單位。
範例
下列程式碼範例示範如何建立字元執行分析物件。 在此範例中,正在使用空的字元執行。
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 Vista 的 Windows 7、Windows Vista SP2 和平臺更新 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | dwrite.h |