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 错误代码。

备注

如果数据不为空,则必须通过 ReleaseGlyphImageData 发布 glyphDataContext,类似于 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
Library Dwrite.lib

另请参阅

IDWriteFontFace4