Condividi tramite


Trasformazioni predefinite

Ogni volta che un'applicazione crea un controller di dominio e inizia immediatamente a chiamare funzioni di disegno o output GDI, sfrutta lo spazio di pagina predefinito per lo spazio dei dispositivi e lo spazio dei dispositivi alle trasformazioni dell'area client. Una trasformazione dello spazio da mondo a pagina non può verificarsi finché l'applicazione chiama prima la funzione SetGraphicsMode per impostare la modalità su GM_ADVANCED e quindi chiama la funzione SetWorldTransform .

L'uso di MM_TEXT (lo spazio di pagina predefinito per la trasformazione dello spazio dei dispositivi) comporta un mapping uno-a-uno; ovvero, un determinato punto nello spazio pagina esegue il mapping allo stesso punto nello spazio del dispositivo. Come accennato in precedenza, questa trasformazione non è specificata da una matrice. Viene invece ottenuto suddividendo la larghezza del riquadro di visualizzazione in base alla larghezza della finestra e all'altezza del riquadro di visualizzazione in base all'altezza della finestra. Nel caso predefinito, le dimensioni del riquadro di visualizzazione sono 1 pixel per 1 pixel e le dimensioni della finestra sono unità a 1 pagina per unità a 1 pagina.

La trasformazione del dispositivo da dispositivo a dispositivo fisico (area client, desktop o carta stampante) comporta sempre un mapping uno-a-uno; ovvero, un'unità nello spazio del dispositivo è sempre equivalente a un'unità nell'area client, sul desktop o in una pagina. L'unico scopo di questa trasformazione è la traduzione; garantisce che l'output venga visualizzato correttamente nella finestra di un'applicazione, indipendentemente dalla posizione in cui tale finestra viene spostata sul desktop.

L'unico aspetto di MM_TEXT è l'orientamento dell'asse y nello spazio pagina. In MM_TEXT, l'asse y positivo si estende verso il basso e l'asse y negativo si estende verso l'alto.