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
傳回時包含圖像的數據。
[out] glyphDataContext
類型: void**
傳回值
類型: HRESULT
如果此方法成功,則會傳回S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
如果數據不是空的,則 glyphDataContext 必須透過 ReleaseGlyphImageData 發行,類似於 IDWriteFontFileStream::ReadFileFragment 和 IDWriteFontFileStream::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 |