При использовании режима MM_ANISOTROPIC, в отличие от MM_ISOTROPIC, Windows не производит масштабирования осей координат так, чтобы логическая единица измерения имела одинаковые физические размеры по осям x и y.
Пусть нужно получить систему координат, в которой начало координат находится в левом нижнем углу, размеры рабочей области окна ранжированы в интервале от 0 до 1000 по каждой оси. Для получения такой системы координат можно воспользоваться следующей группой функций:
SetMapMode (hDC, MM_ANISOTROPIC);
SetWindowExtEx (hDC, 1000, 1000, NULL);
SetViewportExtEx (hDC, xClient, yClient, NULL);
SetViewportOrgEx (hDC,0, yClient, NUULL);
В данном случае левый нижний угол рабочей области экрана будет иметь нулевые координаты, а правый верхний – координаты (1000, 1000):
+Y
+X 1000
Рис. Адаптация режима MM_ANISOTROPIC
Таким образом, в режиме MM_ANISOTROPIC квадрат будет растягиваться так, чтобы занять все окно, не сохраняя пропорций сторон. Квадрат не всегда будет квадратом.