Системы координат GDI+

Системы координат GDI+

Нашей следующей задачей будет рассмотрение координатных систем GDI+. В GDI+ определяются три разные системы координат, которые используются средой выполнения, при определении места размещения и размеров содержимого визуализации. Во-первых, есть так называемые мировые координаты (или внешние координаты). Мировые координаты представляют абстракцию размеров данного типа GDI+, независимую от единиц измерения. Например, при прорисовке прямоугольника с указанием для размерности (0, 0, 100, 100), вы на самом деле указываете прямоугольник размером 100?100 "единиц". Как вы можете догадаться, по умолчанию "единица" – это пиксель, однако ей можно назначить и другую единицу измерения (дюйм, сантиметр и т.п.),

Далее, есть страничные координаты (координаты страницы). Страничные координаты представляют смещение в применении к оригинальным мировым координатам. Это удобно тогда, когда вы не хотите вычислять смещение в своем программном коде вручную (вы не обязаны это делать). Например, если у вас есть форма, которая должна оставаться в границах 100?100 пикселей, вы можете указать страничную координату (100*100), чтобы визуализация выполнялась относительно точки (100*100). Тогда в своем базовом коде вы сможете просто указать мировые координаты (избежав, тем самым, необходимости вручную учитывать смещение),

Наконец, есть приборные координаты (координаты устройства). Приборные координаты представляют результат применения страничных координат к оригинальным мировым координатам. Эта координатная система используется для определения того, где именно будет показан соответствующий тип GDI+. При программировании с помощью средств GDI+ программист обычно мыслит в терминах мировых координат, которые являются базой для определения размеров и места размещения типа GDI+. Для визуализации в мировых координатах не требуется никаких специальных программных ухищрений – нужно просто передать значения измерений текущей операции визуализации,

void MainForm_Paint(object sender, PaintEventArgs s) {

 // Визуализация прямоугольника в мировых координатах.

 i.Graphics g = е.Graphics;

 g.DrawRectangle(Pens.Black, 10, 10, 100, 100);

}

"За кулисами" ваши мировые координаты автоматически отображаются в координаты страницы, которые затем отображаются в приборные координаты. Во многих случаях вы вообще не будете использовать координаты страницы и приборные координаты непосредственно, если только не захотите применить определенные графические трансформации. Поскольку в предыдущем программном коде не используется никакой программной логики трансформаций, мировые, страничные и приборные координаты оказываются идентичными.

Если перед визуализацией своей программной логики GDI+ вы хотите применить какие-то преобразования, вы должны использовать подходящие члены типа Graphics (например, метод TranslateTransform()), чтобы перед тем, как выполнить визуализацию, указать "страничные координаты" в существующей системе мировых координат. В результате устанавливаются приборные координаты, которые будут использоваться при выводе типа GDI+ на соответствующее устройство.

private void MainForm_Paint(object sender, PaintEventArgs e) {

 // Указание смещения (10 * 10) для страничных координат.

 Graphics g = е.Graphics;

 g.TranslateTransform(10, 10);

 g.DrawRectangle(10, 10, 100, 100);

}

В данном случае при отображении прямоугольника его левый верхний угол фактически будет помещен в точку (20, 20), поскольку к мировой системе координат будет добавлено смещение в результате вызова TranslateTransform().

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Различные системы координат

Из книги AutoCAD 2009 автора Орлов Андрей Александрович

Различные системы координат Основной системой координат в AutoCAD является прямоугольная декартова система координат, которая называется мировой системой координат (МСК). Она используется по умолчанию при создании нового чертежа. Направление осей демонстрируется с


Глава 4 Системы координат

Из книги AutoCAD 2009 для студента. Самоучитель автора Соколова Татьяна Юрьевна

Глава 4 Системы координат Ввод координат Когда программа AutoCAD запрашивает точку, команда ожидает ввода координат какой-либо точки текущего рисунка. В AutoCAD может быть включен контроль лимитов рисунка, осуществляемый командой LIMITS. В этом случае, если введенная точка


Определение пользовательской системы координат

Из книги 3ds Max 2008 для дизайна интерьеров автора Семак Рита

Определение пользовательской системы координат Как было сказано выше, в AutoCAD существуют: мировая система координат World Coordinate System, WCS, и пользовательская система координат User Coordinate System, UCS. Ось X мировой системы координат направлена горизонтально, осьY– вертикально, а ось Z


Системы координат

Из книги AutoCAD 2009. Начали! автора Соколова Татьяна Юрьевна

Системы координат Перед тем как начать разговор про сложные трансформации, надо рассказать о том, какие системы координат есть в 3ds Max.По умолчанию в 3ds Max включена видовая система координат View (Видовая). Она характеризуется тем, что во всех окнах проекций, кроме


Глава 3 Системы координат

Из книги AutoCAD 2010 автора Орлов Андрей Александрович

Глава 3 Системы координат Ввод координат Ввод координат в AutoCAD может осуществляться двумя способами:? непосредственно с клавиатуры, путем указания численных значений;? с использованием графического маркера (курсора), который движется по экрану с помощью устройства


Различные системы координат

Из книги Справочник по PHP автора

Различные системы координат Основной системой координат в AutoCAD является прямоугольная декартова система координат, которая называется мировой системой координат (МСК).Она используется по умолчанию при создании нового чертежа. Направление осей демонстрируется с


Установка масштаба и системы координат

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов. автора Дронов Владимир

Установка масштаба и системы координат pdf_translateУстановка начала системы координат.Синтаксис:void pdf_translate(int pdf_document, double x, double y)Координаты указываются относительно текущей точки отсчета. Затем, до начала рисования объектов, требуется установить текущую точку.<?phppdf_moveto($pdf, 0,


Преобразования системы координат

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов автора Дронов Владимир

Преобразования системы координат Преобразования — это различные действия (изменение масштаба, поворот и перемещение точки начала координат), которые мы можем выполнить над системой координат канвы.При выполнении преобразования изменяется только система координат


Поворот системы координат

Из книги AutoCAD 2009. Учебный курс автора Соколова Татьяна Юрьевна

Поворот системы координат Метод rotate позволяет повернуть оси системы координат на произвольный угол вокруг точки начала координат; при этом поворот будет выполняться по часовой стрелке:<контекст рисования>.rotate(<угол поворота>)Единственный параметр метода задает


Преобразования системы координат 

Из книги AutoCAD 2008 для студента: популярный самоучитель автора Соколова Татьяна Юрьевна

Преобразования системы координат  Преобразования — это различные действия (изменение масштаба, поворот и перемещение точки начала координат), которые мы можем выполнить над системой координат канвы.При выполнении преобразования изменяется только система координат


Поворот системы координат

Из книги автора

Поворот системы координат Метод rotate позволяет повернуть оси системы координат на произвольный угол вокруг точки начала координат; при этом поворот будет выполняться по часовой стрелке:<контекст рисования>.rotate(<угол поворота>)Единственный параметр метода задает


Изменение масштаба системы координат

Из книги автора

Изменение масштаба системы координат Метод scale дает возможность изменить масштаб системы координат канвы в б?льшую или меньшую сторону:<контекст рисования>.scale(<масштаб по горизонтали>,<масштаб по вертикали>)Параметры этого метода задают масштаб для


Глава 4 Системы координат

Из книги автора

Глава 4 Системы координат Ввод координат Динамический ввод координат Декартовы и полярные координаты Формирование точек методом «направление – расстояние» Определение трехмерных координат Правило правой руки Ввод трехмерных декартовых координат Ввод цилиндрических


Определение пользовательской системы координат

Из книги автора

Определение пользовательской системы координат Как было сказано выше, в AutoCAD существуют: мировая система координат World Coordinate System, WCS, и пользовательская система координат User Coordinate System, UCS. Ось X мировой системы координат направлена горизонтально, ось Y – вертикально, а ось Z


Определение пользовательской системы координат

Из книги автора

Определение пользовательской системы координат Как было сказано выше, в AutoCAD существуют: мировая система координат World Coordinate System, WCS и пользовательская система координат User Coordinate System, UCS. Ось X мировой системы координат направлена горизонтально, ось F– вертикально, а ось Z