次の方法で共有


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

種類: DWRITE_GLYPH_IMAGE_DATA*

戻り値にはグリフのデータが含まれます。

[out] glyphDataContext

型: void**

戻り値

種類: HRESULT

このメソッドは、成功すると S_OK を返します。 成功しなかった場合は、HRESULT エラー コードを返します。

解説

IDWriteFontFileStream::ReadFileFragmentIDWriteFontFileStream::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

こちらもご覧ください

IDWriteFontFace4