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 错误代码。
备注
如果数据不为空,则必须通过 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。 如果字形没有该格式,则调用不是错误,但函数返回空数据。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | dwrite_3.h |
Library | Dwrite.lib |