根據所需的影像格式取得字元資料的指標。
語法
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
類型: 無效**
返回值
類型: HRESULT
如果這個方法成功,它會傳回S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
如果資料不是空的,則完成時必須透過 ReleaseGlyphImageData 釋放 glyphDataContext,類似於 IDWriteFontFileStream::ReadFileFragment 和 IDWriteFontFileStream::ReleaseFileFragment。 只要 IDWriteFontFace 存在,且尚未呼叫 ReleaseGlyphImageData ,資料指標就有效。
DWRITE_GLYPH_IMAGE_DATA::uniqueDataId 對於快取目的很有價值,因此,如果傳回相同的資源多次,則可以快速擷取現有的資源,而不需要重新剖分析或解壓縮資料。
函式只會傳回 SVG 或點陣式資料 - 要求 TrueType/CFF/COLR 資料會傳回DWRITE_E_INVALIDARG。 這些必須透過 DrawGlyphRun 繪製,或改用 GetGlyphOutline 來查詢。 只能要求一種格式,否則函數會傳回DWRITE_E_INVALIDARG。 如果字符沒有該格式,則呼叫不是錯誤,但函數會傳回空資料。
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows 10 內部版本 14393 |
| 支援的最低伺服器 | Windows 10 內部版本 14393 |
| 目標平臺 | 窗戶 |
| Header | dwrite_3.h |
| Library | 寫入.lib |