IDWriteGlyphRunAnalysis インターフェイス
グリフ実行のレンダリングに使用される低レベルの情報が格納されます。
メンバー
IDWriteGlyphRunAnalysis インターフェイス の継承元は次のとおりです: IUnknown インターフェイス. IDWriteGlyphRunAnalysis は次のメンバーも定義します:
- メソッド
メソッド
IDWriteGlyphRunAnalysis インターフェイス は次の項目を定義します: メソッド.
メソッド | 説明 |
---|---|
CreateAlphaTexture | 指定された境界四角形内のグリフに対して、指定された種類のアルファ テクスチャを作成します。 |
GetAlphaBlendParams | ClearType ブレンドに必要なアルファ ブレンド プロパティを取得します。 |
GetAlphaTextureBounds | グリフ実行によって影響を受ける物理ピクセルの境界四角形を取得します。 |
解説
アルファ テクスチャには、バイレベル アルファ テクスチャまたは ClearType アルファ テクスチャを使用できます。
バイレベル アルファ テクスチャには 1 ピクセルあたり 1 バイトが含まれるため、バイレベル テクスチャのバッファーのサイズはテクスチャ境界の領域 (バイト単位) と等しくなります。CreateAlphaTexture によって作成されたバイレベル アルファ テクスチャの各バイトは、DWRITE_ALPHA_MAX (つまり 255) または 0 に設定されます。
ClearType アルファ テクスチャには 1 ピクセルあたり 3 バイトが含まれるため、ClearType アルファ テクスチャのバッファーのサイズはテクスチャ境界の領域の 3 倍 (バイト単位) になります。
例
次のコード例は、グリフ実行の分析オブジェクトを作成する方法を示しています。この例では、空のグリフ実行が使用されています。
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 用のプラットフォーム更新プログラム |
サーバーの最小要件 |
Windows Server 2008 R2, Windows Server 2008 SP2 および Windows Server 2008 用のプラットフォーム更新プログラム |
ヘッダー |
Dwrite.h |
ライブラリ |
Dwrite.lib |
DLL |
Dwrite.dll |