IDWriteFactory::CreateGlyphRunAnalysis 方法 (dwrite.h)
建立圖像執行分析物件,此物件會封裝用來呈現圖像執行的資訊。
語法
HRESULT CreateGlyphRunAnalysis(
[in] DWRITE_GLYPH_RUN const *glyphRun,
FLOAT pixelsPerDip,
[in, optional] DWRITE_MATRIX const *transform,
DWRITE_RENDERING_MODE renderingMode,
DWRITE_MEASURING_MODE measuringMode,
FLOAT baselineOriginX,
FLOAT baselineOriginY,
[out] IDWriteGlyphRunAnalysis **glyphRunAnalysis
);
參數
[in] glyphRun
類型: const DWRITE_GLYPH_RUN*
結構,包含字元執行 (字型臉部、進階等) 的屬性。
pixelsPerDip
類型: FLOAT
每個 DIP (裝置獨立圖元) 實體像素數目。 例如,如果轉譯為96 DPI位圖,則 pixelPerDip 為1。 如果轉譯為 120 DPI 位圖,則 pixelPerDip 為 1.25。
[in, optional] transform
類型: const DWRITE_MATRIX*
套用至字元及其位置的選擇性轉換。 此轉換會在指定 emSize 和 pixelPerDip 的縮放之後套用。
renderingMode
值,指定轉譯模式,這必須是其中一個點陣轉譯模式, (即非預設值,而不是大綱) 。
measuringMode
指定要與字元搭配使用的測量模式。
baselineOriginX
類型: FLOAT
基準原點的水準位置 (X 座標) ,以 DIP 為單位。
baselineOriginY
類型: FLOAT
垂直位置 (基準原點的 Y 座標) ,以 DIP 為單位。
[out] glyphRunAnalysis
類型: IDWriteGlyphRunAnalysis**
當這個方法傳回時,會包含新建立圖像執行分析物件的指標位址。
傳回值
類型: HRESULT
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
圖像執行分析物件包含分析圖像執行的結果,包括所有圖像的位置,以及字型快取中所有點陣化圖像的參考。
範例
下列程式代碼範例示範如何建立圖像執行分析物件。 在此範例中,正在使用空的字元執行。
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 |
程式庫 | Dwrite.lib |
Dll | Dwrite.dll |