共用方式為


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

要擷取影像數據之圖像的標識碼。

pixelsPerEm

類型: UINT32

每個 em 的要求圖元。

glyphImageFormat

類型: DWRITE_GLYPH_IMAGE_FORMATS

指定字型中支援的格式。

[out] glyphData

類型: DWRITE_GLYPH_IMAGE_DATA*

傳回時包含圖像的數據。

[out] glyphDataContext

類型: void**

傳回值

類型: HRESULT

如果此方法成功,則會傳回S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

如果數據不是空的,則 glyphDataContext 必須透過 ReleaseGlyphImageData 發行,類似於 IDWriteFontFileStream::ReadFileFragmentIDWriteFontFileStream::ReleaseFileFragment。 只要 IDWriteFontFace 存在且 尚未呼叫 ReleaseGlyphImageData ,數據指標就有效。

DWRITE_GLYPH_IMAGE_DATA::uniqueDataId 對於快取用途很重要,因此,如果多次傳回相同的資源,則可以快速擷取現有的資源,而不需要重新分析或解壓縮數據。

函式只會傳回 SVG 或點陣數據 - 要求 TrueType/CFF/COLR 數據會傳回DWRITE_E_INVALIDARG。 這些必須改為透過 DrawGlyphRun 繪製,或使用 GetGlyphOutline 進行查詢。 可能只要求一種格式,否則函式會傳回DWRITE_E_INVALIDARG。 如果字元沒有該格式,則呼叫不是錯誤,但函式會傳回空白數據。

規格需求

需求
目標平台 Windows
標頭 dwrite_3.h
程式庫 Dwrite.lib

另請參閱

IDWriteFontFace4