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 ビットマップにレンダリングする場合、 pixelsPerDip は 1 です。 120 DPI ビットマップにレンダリングする場合、 pixelsPerDip は 1.25 です。
[in, optional] transform
型: const DWRITE_MATRIX*
グリフとその位置に適用されるオプションの変換。 この変換は、スケーリングで emSize と pixelsPerDip が指定された後に適用されます。
renderingMode
レンダリング モードを指定する値。これはラスター レンダリング モードのいずれかである必要があります (つまり、既定ではなく、アウトラインではありません)。
measuringMode
グリフで使用する測定モードを指定します。
baselineOriginX
型: FLOAT
基準原点の水平位置 (X 座標) (DIP 単位)。
baselineOriginY
型: FLOAT
基準原点の垂直方向の位置 (Y 座標)。
[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 7、Windows Vista SP2 と Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | dwrite.h |
Library | Dwrite.lib |
[DLL] | Dwrite.dll |