Здавалка
Главная | Обратная связь

Принцип побудови заповнених геометричних фігур



Питання для вивчення:

1. Процедури для побудови зафарбованих кіл та еліпсів.

 

Процедура Bar (Xl, Yl, X2, Y2: integer); дозволяє будувати більш ефектні прямокутники. Вона малює прямокутник, внутрішня область якого залита по поточному шаблоном. Зазвичай використовується в діловій графіці для побудови стовпчикових діаграм, а також для "зафарбовування" графічного вікна, щоб фон графічного вікна не зливався із загальним фоном екрану.

Розглянемо, як виробляти «заливання» замкнутих областей екрану за допомогою різних візерунків, тобто як вибрати візерунок (шаблон) і колір заповнення фігури. Комбінацію візерунок-колір прийнято називати стилем заповнення.

Процедура SetFillStyle (<шаблон>: word; <колір>: word); встановлює шаблон і колір заповнення замкнутої фігури.

Процедура FloodFill (X, Y: integer; Border: word); заповнює обмежену область поточним кольором і стилем заповнення (SetFillStyle). Кордон закрашується області висвічується кольором, заданим в Border.

Якщо точка (X, Y) знаходиться всередині області, то ця область зафарбовується, якщо ж вона розташована поза області, то заповнюється зовнішня частина області.

Приклад Dom.

program dom;

uses graph;

var

grDriver: integer;

grMode: integer;

begin

grDriver: = Detect;

InitGraph (grDriver, grMode,'');

{Зміна кольору фону}

setbkcolor (14);

{Зміна кольору лінії}

SetColor (5);

{Малювання прямокутників}

rectangle (25,75,100,150);

rectangle (100,75,225,150);

rectangle (50,100,75,150);

rectangle (150,100,175,125);

{Малювання ліній}

line (25,75,75,25);

line (75,25,100,75);

line (200,25,225,75);

line (75,25,200,25);

readln;

end.

Процедура FillEllipse (X, Y: integer; Rx, Ry: word); будує повний зафарбований еліпсю.

Процедура Circle (X, Y: integer; R: word); виводить на екран зображення кола з центром (X, Y) і радіусом R. Окружність малюється кольором, заданим SetColor.

Процедура PieSlice (X, Y: integer; al, n2, R: word); виводить на екран зображення зафарбованого сектора кола, використовуючи і якості центру кола точку (X, Y), початковий кут al, кінцевий кут a2 і радіус R. Контур сектора висвічується поточним кольором. При заповненні сектора використовуються шаблон і колір, встановлені процедурою SetFillStyle. Якщо al = 0 °, а а2 = 360 °, то на екран виводиться зафарбована окружність.

Процедура Sector (X, Y: integer; al, a2, Rx; Ry: word); будує зафарбований сектор еліпса.

Приклад Машіна

PROGRAM MASHINA;

Uses graph;

Var

grdriver: integer;

grmode: integer;

begin;

grdriver: = detect;

Initgraph (grdriver, grmode, 'c');

rectangle (120,90,160,120);

setcolor (7);

rectangle (160,120,240,160);

setcolor (8);

line (120,120,70,120);

line (70,120,80,160);

line (80,160,160,160);

setcolor (2);

circle (110,160,25);

setcolor (5);

circle (200,160,25);

setcolor (5);

line (50,80,20,120);

line (20,120,80,120);

line (80,120,50,80);

line (50,120,20,160);

line (20,160,80,160);

line (80,160,50,120);

readln

End.

Питання для контролю вивченого матеріалу:

1. Опрацюйте матеріал та приклади.

2. Розробіть власну програму виведення зафарбованих графічних примітивів.

Література:

Меженний О.А.Turbo Pascal: М: Издательский дом «Вильямс», 2006. – 336 с., стор. 230-235

 

Урок № 47

(згідно робочої навчальної програми)







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.