IDWriteFontFace4::GetGlyphImageData-Methode (dwrite_3.h)
Ruft einen Zeiger auf die Glyphendaten basierend auf dem gewünschten Bildformat ab.
Syntax
HRESULT GetGlyphImageData(
[in] UINT16 glyphId,
UINT32 pixelsPerEm,
DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat,
[out] DWRITE_GLYPH_IMAGE_DATA *glyphData,
[out] void **glyphDataContext
);
Parameter
[in] glyphId
Typ: UINT16
Die ID der Glyphe, für die Bilddaten abgerufen werden sollen.
pixelsPerEm
Typ: UINT32
Angeforderte Pixel pro em.
glyphImageFormat
Typ: DWRITE_GLYPH_IMAGE_FORMATS
Gibt an, welche Formate in der Schriftart unterstützt werden.
[out] glyphData
Typ: DWRITE_GLYPH_IMAGE_DATA*
Bei Rückgabe enthält Daten für eine Glyphe.
[out] glyphDataContext
Typ: void**
Rückgabewert
Typ: HRESULT
Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein HRESULT-Fehlercode zurückgegeben.
Bemerkungen
Der glyphDataContext muss über ReleaseGlyphImageData freigegeben werden, wenn die Daten nicht leer sind, ähnlich wie IDWriteFontFileStream::ReadFileFragment und IDWriteFontFileStream::ReleaseFileFragment. Der Datenzeiger ist gültig, solange IDWriteFontFace vorhanden ist und ReleaseGlyphImageData nicht aufgerufen wurde.
Die DWRITE_GLYPH_IMAGE_DATA::uniqueDataId ist für zwischenspeichernde Zwecke nützlich, sodass bei mehrmaliger Rückgabe derselben Ressource eine vorhandene Ressource schnell abgerufen werden kann, anstatt die Daten erneut zu analysieren oder zu dekomprimieren.
Die Funktion gibt nur SVG- oder Rasterdaten zurück. Die Anforderung von TrueType/CFF/COLR-Daten gibt DWRITE_E_INVALIDARG zurück. Diese müssen über DrawGlyphRun gezeichnet oder stattdessen mithilfe von GetGlyphOutline abgefragt werden. Es kann genau ein Format angefordert werden, andernfalls gibt die Funktion DWRITE_E_INVALIDARG zurück. Wenn die Glyphe dieses Format nicht aufweist, ist der Aufruf kein Fehler, sondern die Funktion gibt leere Daten zurück.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | dwrite_3.h |
Bibliothek | Dwrite.lib |