IDWriteFontFace4::GetGlyphImageData メソッド (dwrite_3.h)
目的のイメージ形式に基づいてグリフ データへのポインターを取得します。
構文
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
種類: DWRITE_GLYPH_IMAGE_FORMATS
フォントでサポートされる書式を指定します。
[out] glyphData
戻り値にはグリフのデータが含まれます。
[out] glyphDataContext
型: void**
戻り値
種類: HRESULT
このメソッドは、成功すると S_OK を返します。 成功しなかった場合は、HRESULT エラー コードを返します。
解説
IDWriteFontFileStream::ReadFileFragment や IDWriteFontFileStream::ReleaseFileFragment と同様に、データが空でない場合は、ReleaseGlyphImageData を介して glyphDataContext を解放する必要があります。 IDWriteFontFace が存在し、ReleaseGlyphImageData が呼び出されていない限り、データ ポインターは有効です。
DWRITE_GLYPH_IMAGE_DATA::uniqueDataId は、同じリソースが複数回返された場合に、データの再解析や圧縮解除を行う必要なく、既存のリソースをすばやく取得できるように、キャッシュの目的に役立ちます。
関数は SVG またはラスター データのみを返します。TrueType/CFF/COLR データを要求すると、DWRITE_E_INVALIDARGが返されます。 これらは DrawGlyphRun を使用して描画するか、代わりに GetGlyphOutline を使用してクエリを実行する必要があります。 1 つの形式を要求するか、それ以外の場合は関数がDWRITE_E_INVALIDARGを返します。 グリフにその形式がない場合、呼び出しはエラーではありませんが、関数は空のデータを返します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | dwrite_3.h |
Library | Dwrite.lib |