Funzione GetGlyphOutlineW (wingdi.h)
La funzione GetGlyphOutline recupera la struttura o la bitmap per un carattere nel tipo di carattere TrueType selezionato nel contesto di dispositivo specificato.
Sintassi
DWORD GetGlyphOutlineW(
[in] HDC hdc,
[in] UINT uChar,
[in] UINT fuFormat,
[out] LPGLYPHMETRICS lpgm,
[in] DWORD cjBuffer,
[out] LPVOID pvBuffer,
[in] const MAT2 *lpmat2
);
Parametri
[in] hdc
Handle per il contesto del dispositivo.
[in] uChar
Carattere per il quale devono essere restituiti i dati.
[in] fuFormat
Formato dei dati recuperati dalla funzione. Questo parametro può essere uno dei valori seguenti.
Si noti che, per i valori GGO_GRAYn_BITMAP, la funzione recupera una bitmap del glifo contenente n^2+1 (n quadrati più uno) livelli di grigio.
[out] lpgm
Puntatore alla struttura GLYPHMETRICS che descrive la posizione del glifo nella cella di caratteri.
[in] cjBuffer
Dimensioni, in byte, del buffer (*lpvBuffer) in cui la funzione deve copiare informazioni sul carattere di struttura. Se questo valore è zero, la funzione restituisce le dimensioni necessarie del buffer.
[out] pvBuffer
Puntatore al buffer che riceve informazioni sul carattere di struttura. Se questo valore è NULL, la funzione restituisce le dimensioni necessarie del buffer.
[in] lpmat2
Puntatore a una struttura MAT2 che specifica una matrice di trasformazione per il carattere.
Valore restituito
Se viene specificato GGO_BITMAP, GGO_GRAY2_BITMAP, GGO_GRAY4_BITMAP, GGO_GRAY8_BITMAP o GGO_NATIVE e la funzione ha esito positivo, il valore restituito è maggiore di zero; in caso contrario, il valore restituito è GDI_ERROR. Se viene specificato uno di questi flag e la dimensione o l'indirizzo del buffer è zero, il valore restituito specifica le dimensioni del buffer necessarie, in byte.
Se viene specificato GGO_METRICS e la funzione ha esito negativo, il valore restituito viene GDI_ERROR.
Osservazioni
Il contorno del glifo restituito dalla funzione GetGlyphOutline
La bitmap del glifo restituita da GetGlyphOutline quando si specifica GGO_BITMAP è una bitmap monocromatica allineata a DWORD, orientata alle righe. Quando si specifica GGO_GRAY2_BITMAP, la bitmap restituita è una matrice DWORD allineata alle righe di byte i cui valori sono compresi tra 0 e 4. Quando si specifica GGO_GRAY4_BITMAP, la bitmap restituita è una matrice DWORD allineata alle righe di byte i cui valori sono compresi tra 0 e 16. Quando si specifica GGO_GRAY8_BITMAP, la bitmap restituita è una matrice di byte allineata a DWORD e orientata alle righe i cui valori sono compresi tra 0 e 64.
Il buffer nativo restituito da GetGlyphOutline quando viene specificato GGO_NATIVE è un contorno del glifo. Un contorno del glifo viene restituito come una serie di uno o più contorni definiti da una struttura TTPOLYGONHEADER seguita da una o più curve. Ogni curva del contorno è definita da una struttura TTPOLYCURVE
La struttura GLYPHMETRICS specifica la larghezza della cella di caratteri e la posizione di un glifo all'interno della cella di caratteri. L'origine della cella di caratteri si trova sul lato sinistro della cella in corrispondenza della linea di base del tipo di carattere. La posizione dell'origine del glifo è relativa all'origine della cella di caratteri. L'altezza di una cella di caratteri, la linea di base e altre metriche globali per il tipo di carattere vengono date dalla struttura OUTLINETEXTMETRIC
Un'applicazione può modificare i caratteri recuperati in formato bitmap o nativo specificando una matrice di trasformazione 2 per 2 nel parametro lpMatrix. Ad esempio, il glifo può essere modificato da taglio, rotazione, ridimensionamento o qualsiasi combinazione dei tre usando la moltiplicazione della matrice.
Altre informazioni sui contorni di un glifo si trovano nelle specifiche tecniche TrueType e OpenType.
Nota
L'intestazione wingdi.h definisce GetGlyphOutline come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 2000 Professional [solo app desktop] |
server minimo supportato | Windows 2000 Server [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
wingdi.h (include Windows.h) |
libreria |
Gdi32.lib |
dll | Gdi32.dll |
Vedere anche
funzioni di tipo carattere e testo
panoramica tipi di carattere e testo