Метод 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.
Remarks
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 |
Header | dwrite_3.h |
Библиотека | Dwrite.lib |