Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 199

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 193 194 195 196 197 198 < 199 > 200 201 202 203 204 205 .. 404 >> Следующая


)

В соответствии с документацией этот код абсолютно эквивалентен следующему:

Graphics g * this,CreateGraphics();

try {

g.DrawLine(Репе.Вlack, new Point(0, 0), new Point(3, 5))i

)

finally (

if (g Iя null) '

((rDisposable)g)-DisposeO ( '

>

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

В примерах, приводимых в настоящей главе, используются оба способа обращения к методу DisposeO. Иногда мы будем вызывать метод Disposed непосредственно, а иногда прибегать к использованию конструкции using. Второй способ — это гораздо более наглядное решение, что видно из приведенных выше отрывков программ, хотя не существует никаких рекомендаций относительно того, какой из этих двух способов является более предпочтительным.

Перед тем как перейти к созданию первого примера, нам необходимо изучить , два других аспекта рисования — систему координат и цвета.

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

При разработке программы, которая должна осуществлять вывод сложной графики, представляется очень важным, чтобы код рисовал только то, что необходимо, и ничего больше. Даже один нарисованный в неправильном месте пиксель может оказать негативное влияние на восприятие целого изображения, поэтому необходимо понимать, какие именно пиксели будут рисоваться при выполнении тех или иных графических операций. Особую важность это имеет при создании собственных управляющих элементов, которые обычно состоят из большого количества прямоугольников, а также вертикальных и горизонтальных линий. Стоит при рисовании линии захватить один лишний пиксель или наоборот — нарисовать линию на один пиксель короче, как это тут же становится очень заметным. Такие ошибки несколько менее заметны в случае вывода кривых, диагоналей и некоторых других графических элементов,

В GDI+ используется система координат, построенная на основе воображаемых математических прямых, которые проходят через центры пикселей. Эти прямые пронумерованы начиная с 0: пересечение этих прямых в левом верхнем пикселе имеет координаты X = 0, Y = 0 во всех координатных пространствах.
430

Глава 16

Прямоугольник, верхний левый угол которого располагается в точке I, 0 и который имеет размеры 5, 4, будет нарисован так, как это изображено ка рисунке справа.

Заметим, что ширина прямоугольника была задана равной 5 пикселям, но на рисунке и горизонтальном направлении оказались закрашенными 6 пикселей. Однако если подсчитать количество математических прямых, проходящих через составляющие заданный прямоугольник пиксели, то можно убедиться, что

s

1

Эго расстояние составляет S пихсениЯ

При рисовании вертикальной прямой толщиной в один пиксель и длиной в четыре пикселя из точки 2, 1 в точку 2, 4 будут закрашены пиксели, как на рисунке справа.

В упрощенной нотации можно говорить о точке (1,2), что является сокращенным вариантом записи X = 1, Y =¦ 2. Каждое окно, в котором будут выводиться какие-либо графические объекты, обладает своим координатным пространством. Если создать собственный управляющий элемент, который в дальнейшем будет использоваться в других окнах, то такой элемент также будет обладать своей системой координат. Другими словами, при выводе графических объектов в этом элементе его левый верхний угол будет иметь координаты 0, 0. И неважно, в каком месте содержащего его окна он будет располагаться.

При рисовании прямых GDI+ центрирует пиксели, находящиеся на заданной математической прямой. Рисование горизонтальной прямой с целыми координатами можно представить себе как проведение воображаемой математической линии таким образом, что половина пикселя оказывается расположенной выше нее, а вторая половина — ниже. Для рисования горизонтальной прямой, толщина которой составляет один пиксель и которая начинается в точке 1, 1 и заканчивается в точке 1,5, будут использованы пиксели, закрашенные на рисунке слева черным.

Если мы рисуем диагональную линию между точками 1, 0 и 4, 3, то закрашенными окажутся пиксели, как показано на рисунке слева.
Введшие в GDI+

431

ширина прямоугольника составляет как раз пять пикселей, а проведенная линия оставляет одну половину пикселя снаружи заданной математической прямой, а вторую — внутри.

Если линия будет рисоваться в режиме сглаживания, то некоторые пиксели будут закрашиваться только наполовину, создавая иллюзию непрерывной линии и позволяя частично избавиться от представления диагональных линий в виде “лесенки”.

Вот как выглядит линия, нарисованная без использования сглаживания (ем. рис. слева).

А на рисунке справа показана та же линия, нарисованная с использованием сглаживания.

При выводе с большим разрешением эта линия будет выглядеть гораздо более плавной, без "лесенки”.
Предыдущая << 1 .. 193 194 195 196 197 198 < 199 > 200 201 202 203 204 205 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.