Transformações padrão
Sempre que um aplicativo cria um DC e começa imediatamente a chamar funções de desenho ou saída GDI, ele aproveita o espaço de página padrão para o espaço do dispositivo e o espaço do dispositivo para transformações de área do cliente. Uma transformação de espaço de mundo para página não pode acontecer até que o aplicativo primeiro chame a função SetGraphicsMode para definir o modo como GM_ADVANCED e, em seguida, chame a função SetWorldTransform .
O uso de MM_TEXT (o espaço de página padrão para a transformação de espaço do dispositivo) resulta em um mapeamento um-para-um; ou seja, um determinado ponto no espaço de página é mapeado para o mesmo ponto no espaço do dispositivo. Conforme mencionado anteriormente, essa transformação não é especificada por uma matriz. Em vez disso, ele é obtido dividindo a largura do visor pela largura da janela e pela altura do visor pela altura da janela. No caso padrão, as dimensões do visor são de 1 pixel por 1 pixel e as dimensões da janela são uma unidade de página por unidade de 1 página.
A transformação espaço do dispositivo para dispositivo físico (área de cliente, área de trabalho ou papel da impressora) sempre resulta em um mapeamento um-para-um; ou seja, uma unidade no espaço do dispositivo é sempre equivalente a uma unidade na área de cliente, na área de trabalho ou em uma página. A única finalidade dessa transformação é a tradução; ele garante que a saída seja exibida corretamente na janela de um aplicativo, independentemente de onde essa janela seja movida na área de trabalho.
O único aspecto exclusivo do MM_TEXT é a orientação do eixo y no espaço da página. Em MM_TEXT, o eixo y positivo se estende para baixo e o eixo y negativo se estende para cima.