предыдущее занятие меню следующее занятие | |||||||||||||||||||||||||||||||||||||||
.:: Занятие II ::. |
|||||||||||||||||||||||||||||||||||||||
Тема:Построение дуги, окружности, прямоугольника, эллипса. Рассмотрим подробнее процедуры и функции, с которыми мы будем работать. Circle (X, Y, R), где переменные X, Y, R типа Word - Рисуется окружность в центре (X, Y) c радиусом R. Arc (X, Y, BegA, EndA, R), где переменные X, Y, BegA, EndA, R типа Word - Рисуется дуга (часть окружности) с координатами центра (X, Y), с радиусом R, которая начинается от угла BegA до угла EndA в полярной системе координат. Например, чтобы начертить дугу от окружности радиуса 50 пикселей и координатами центра (100, 230) надо набрать команду: Arc (100, 230, 45, 135, 50)Нетрудно заметить, что если мы будем чертить дугу от 0 до 360, то начертим окружность. Ellipse(X, Y, BegA, EndA , хR, yR), где переменные X, Y переменные типа integer, а BegA, EndA, хR, yR типа Word - рисуется дуга эллипса, у которого центр находится в точке (X, Y), BegA - начальный угол, EndA - конечный угол, хR - радиус по горизонтальной оси, yR - радиус по вертикальной оси. Например, чтобы начертить дугу ABC от эллипса надо дать такую команду Ellipse(150, 200, 30, 240, 80, 50).Вполне очевидно, чтобы начертить весь эллипс надо определить углы черчения дуги от 0 до 360. А также, чтобы “вытянуть” эллипс вверх надо радиус по вертикальной оси сделать больше, чем по горизонтальной (если радиусы будут равны, то будет начерчена дуга окружности или сама окружность). Rectangle (X1, Y1, X2, Y2), где переменные X, Y переменные типа integer - рисуется прямоугольник, X1, Y1 - координаты верхнего левого угла, X2, Y2 - координаты нижнего угла. SetLineStyle (Type, Pattern, Thick), где переменные X, Y переменные типа Word - устанавливает стиль линий. Здесь Type - тип линии, Pattern - образец линии, Thick - толщина линии. Тип линии может быть задан с помощью одной из следующих констант:
Параметр Pattern учитывается только для линий, вид которых определяет пользователь. Пользователь таким образом может задать линии в виде отрезков длиной до 16 пикселей. Толщина линий.
Задание.Теперь, пользуясь этими процедурами, нарисуйте кораблик (например, иллюминаторы, якорь и др.), а также придумайте и нарисуйте предметы вокруг него, чтобы получилась картинка. Установка стиля и цвета закраски. Закрашивание фигур.После того как Вы нарисовали картинку, у Вас, верно, возникло желание ее раскрасить. Для этого есть различные способы. Познакомимся с одним из них - “заливкой” замкнутых площадей различными видами заполнения. Для этого существуют две процедуры SetFillStyle и FloodFill. SetFillStyle (Pattern, Color), где переменные Pattern, Color типа Word - определяет стиль заполнения и цвет заполнения. Значения Pattern можно взять из следующей таблицы: Стандартные стили заполнения
Например, если мы употребили процедуру SetFillStyle (WideDotFill, Red) или SetFillStyle (10, 4), то выбрали стиль закраски “редкими” точками красного цвета. Теперь же, когда Вы указали компьютеру ЧЕМ Вы будете закрашивать (стиль и цвет), можно указать, ЧТО Вы будете закрашивать. Для этого существует процедура FloodFill(X, Y, ColorBorder), где X, Y переменные типа integer, а Border - переменная типа word -процедура, которая позволяет заполнить замкнутую область выбранным стилем и цветом закраски. Необходимо только выполнить несколько требований:
Нужно представить, как компьютер закрашивает фигуру. Первое, что он делает - это находит точку, от которой он начинает заливку и заливает точку за точкой до тех пор, пока не встретит заданный цвет. Таким образом, если фигура замкнутая, то, разливаясь во все стороны, он натыкается на “бордюрчик” и фигура становится закрашенной. Но, если в контуре фигуры есть хотя бы один пиксель, закрашенный другим цветом, замкнутость фигуры нарушается и краска выливается через эту дырочку и заливает не ту область, а иногда и весь экран. Чтобы Вас уберечь от многих ошибок и, соответственно, сохранить Ваше время, хочу посоветовать относиться к рисованию фигур и их закраске, как к аппликации. Т. е. если нарисовали фигуру, постарайтесь сразу же ее закрасить, а также рисовать фигуры, начиная от самых больших и заканчивая самыми маленькими. SetBkColor(Color), где переменная Color типа Word - процедура, устанавливающая цвет фона. Примечание.После замены цвета фона на любой, отличный от черного, Вы не сможете более использовать цвет 0 как черный, он будет заменяться на цвет фона, т.к. процедуры модуля Graph интерпретируют цвет с номером 0 как цвет фона. ClеarDeviсe - процедура, которая очищает экран и устанавливает курсор в позицию (0,0). GraphDefaults - cбрасывает заданные пользователем параметры графического режима и устанавливает исходные (определяемые по умолчанию при запуске процедуры InitGraph). Задание.Раскрасьте кораблик, используя различные стили и цвета. |
|||||||||||||||||||||||||||||||||||||||
предыдущее занятие меню следующее занятие |