目的のイメージ形式に基づいてグリフ データへのポインターを取得します。
構文
HRESULT GetGlyphImageData(
[in] UINT16 glyphId,
UINT32 pixelsPerEm,
DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat,
[out] DWRITE_GLYPH_IMAGE_DATA *glyphData,
[out] void **glyphDataContext
);
パラメーター
[in] glyphId
型: UINT16
画像データを取得するグリフの ID。
pixelsPerEm
型: UINT32
em あたりの要求されたピクセル数。
glyphImageFormat
フォントでサポートされる書式を指定します。
[out] glyphData
戻り値にはグリフのデータが含まれます。
[out] glyphDataContext
型: void**
戻り値
型: HRESULT
このメソッドが成功すると、S_OKが返されます。 それ以外の場合は、HRESULT エラー コードが返されます。
注釈
IDWriteFontFileStream::ReadFileFragment および IDWriteFontFileStream::ReleaseFileFragment と同様に、データが空でない場合は、glyphDataContext を ReleaseGlyphImageData 経由で解放する必要があります。 IDWriteFontFace が存在し、ReleaseGlyphImageData が呼び出されていない限り、データ ポインターは有効です。
DWRITE_GLYPH_IMAGE_DATA::uniqueDataId は、同じリソースが複数回返された場合に、データの再解析や圧縮解除を行う必要なく、既存のリソースをすばやく取得できるように、キャッシュの目的で有用です。
この関数は SVG またはラスター データのみを返します。TrueType/CFF/COLR データを要求すると、DWRITE_E_INVALIDARGが返されます。 これらは DrawGlyphRun を使用して描画するか、代わりに GetGlyphOutline を使用してクエリを実行する必要があります。 厳密に 1 つの形式を要求するか、それ以外の場合、関数はDWRITE_E_INVALIDARGを返します。 グリフにその形式がない場合、呼び出しはエラーではありませんが、関数は空のデータを返します。
Requirements
| Requirement | 価値 |
|---|---|
| サポートされる最小クライアント | Windows 10 ビルド 14393 |
| サポートされている最小のサーバー | Windows 10 ビルド 14393 |
| ターゲット プラットフォーム の | ウィンドウズ |
| Header | dwrite_3.h |
| Library | Dwrite.lib |