Режим отображения

Режим отображения, установленный в контексте отображения, влияет на систему координат. Устанавливая различные режимы отображения, приложение может изменять направление и масштаб координатных осей.

По умолчанию в контексте отображения установлен режим отображения MM_TEXT. Для этого режима начало системы координат находится в верхнем левом углу внутренней области окна. Ось x направлена вправо, ось y - вниз. В качестве единицы измерения используется пиксель.

Иногда удобнее использовать обычную систему координат, в которой ось x направлена слева направо, а ось y - снизу вверх. Вы можете выбрать один из нескольких режимов отображения с таким направлением осей. В качестве единицы измерения можно использовать сотые и тысячные доли дюйма, сотые и десятые доли миллиметра и другие величины.

С помощью функции SetMapMode приложение может установить в контексте режим отображения, удобный для решения той или иной задачи.

· MM_LOMETRIC ось у – вверх, ось x – вправо, одинаковый масштаб по осям 0,1мм.

· MM_HIMITRIC ось у – вверх, ось x – вправо, одинаковый масштаб по осям 0,01мм.

· MM_ISOTROPIC направления осей можно выбирать, одинаковый масштаб по осям.

· MM_ANISOTROPIC все параметры произвольны.

Физические координаты, как это следует из названия, имеют непосредственное отношение к физическому устройству вывода. В качестве единицы измерения длины в системе физических координат всегда используется пиксель. Если устройством вывода является экран монитора, физические координаты обычно называют экранными координатами.

Логические координаты передаются функциям GDI, выполняющим рисование фигур или вывод текста. Используемые единицы измерения зависят от режима отображения.

Перевод координат логических координат в физические:

LPtoDP(HDC hDc, POINT FAR* lppt, int cPoint);

Здесь второй параметр – указатель на массив структур, третий – размер массива.

Начало системы координат для окна

По умолчанию начало системы координат для окна (window origin) установлено в точку (0,0). Для перемещения начала системы координат окна можно использовать функцию SetWindowOrg (hDc, nXOrigin, nYOrigin).

Начало системы физических координат

По умолчанию начало системы физических координат установлено в точку (0,0) рабочей области окна. Для перемещения начала системы координат окна можно использовать функцию SetViewportOrg или SetViewportOrgEx.

POINT p; // координаты точки

SetViewportOrgEx(hdc,100,200,&p);


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: