Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_7.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
383.49 Кб
Скачать

Лабораторна робота №7

МЕТОДИ СТВОРЕННЯ ГРАФІЧНИХ ОБ'ЄКТІВ

ЗАСОБАМИ МОВИ ПРОГРАМУВАННЯ PASCAL.

Зміст

1. Теоретичні відомості 3

1.1. Ініціалізація графічного режиму 3

1.2. Базові процедури і функції. 3

1.3. Екран і вікно в графічному режимі. 6

1.4. Виведення найпростіших фігур. 6

1.4.1. Виведення точки. 6

1.4.2. Виведення лінії. 7

1.5. Побудова багатокутників. 8

1.5.1. Побудова прямокутників. 8

1.5.2. Побудова багатокутників. 9

1.6. Побудова дуг і кіл. 10

1.7. Робота з текстом. 12

1.7.1. Виведення тексту. 12

1.7.2. Виведення чисельних значень. 12

1.7.3. Шрифти. 13

1.7.4. Вирівнювання тексту. 13

1.8. Побудова графіків функцій. 14

1.9. Цикли в графіці. Побудова випадкових процесів. 16

1.10. Створення ілюзії руху. 16

2. Приклад виконання лабораторного завдання. 20

3. Завдання до виконання лабораторної роботи 25

4. Контрольні запитання 27

5. Варіанти завдань 27

МЕТОДИ СТВОРЕННЯ ГРАФІЧНИХ ОБ'ЄКТІВ ЗАСОБАМИ МОВИ ПРОГРАМУВАННЯ PASCAL.

Мета: розглянути можливості створення рухомих графічних об'єктів та простих мультиплікаційних зображень засобами мови Pascal.

1. Теоретичні відомості

1.1. Ініціалізація графічного режиму

Екран дисплея ПК є прямокутним полем, що складається з великої кількості точок. Дисплей може працювати в текстовому і графічному режимах. Але на відміну від текстового режиму в графічному режимі є можливість змінювати колір кожної точки.

Щоб зробити процес графічного програмування більш ефективним, фірма Borland International розробила спеціалізовану бібліотеку Graph (в цьому бібліотечному модулі міститься 79 графічних процедур, функцій, різних стандартних констант і типів даних), набір драйверів, що дозволяють працювати з різними типами моніторів, і набір шрифтів для виведення на графічний екран текстів різної величини і форми.

Апаратна підтримка графіки ПК забезпечується двома основними модулями: відеомонітором і відеоадаптером. Який би адаптер не був установлений на комп'ютері, ми можемо використовувати один і той же набір графічних процедур і функцій Турбо Паскаля завдяки тому, що їх кінцева настройка на конкретний адаптер здійснюється автоматично. Цю настройку виконують графічні драйвери.

Запуск і завершення роботи в графічній системі здійснюється таким чином:

1. Підключити модуль Graph (бібліотеку графічних процедур): uses Graph;

2. Встановити графічний режим:

- описуємо змінні, які визначають графічний драйвер і монітор:

Var gd, gm: integer;

- задаємо команду ПК для самовибору значень змінних:

gd:=Detect;

(значення gm після команди gd:=detect; визначається автоматично)

- ініціалізували графічний режим:

InitGraph( gd, gm,’вказується шлях до драйвера, чим докладніше, тим краще’)

З цієї миті всі графічні засоби доступні користувачу.

3. Завершити роботу в графічній системі: CloseGraph.

1.2. Базові процедури і функції.

Для побудови зображень на екрані використовується система координат. Відлік починається від верхнього лівого кута екрану, який має координати (0,0). Значення Х (стовпець) збільшується зліва направо, значення У (рядок) збільшується зверху вниз.

Щоб будувати зображення, необхідно вказувати точку початку виведення. В текстових режимах цю точку вказує курсор, який присутній на екрані. В графічних режимах видимого курсора немає, але є невидимий поточний покажчик CP (Current Pointer). Фактично це той же курсор, але він невидимий.

Таблиця 7.1

Процедури модуля Graph.

Процедура

Формат

Дія

Setcolor

Setcolor (а: word);

Встановлює колір, яким здійснюватиметься малювання

Setbkcolor

Setbkcolor (а: word);

Встановлює колір фону

Setfillstyle

Setfillstyle (a,b: word);

a–стиль зафарбовування,

b – колір

Встановлює стиль і колір зафарбовування

Setlinestyle

Setlinestyle (а,b,c:word);

А – стиль лінії,

b- зразок побудови лінії (може встановлюватися користувачем),

С-товщина лінії

Встановлює стиль і товщину лінії

Settextstyle

Settextstyle (а,b,c:word);

Встановлює шрифт, стиль і розмір тексту

Setfillpattern

Setfillpattern (pattern:fillpatterntype;color:word);

Pattern - маска

Вибирає шаблон заповнення, визначений користувачем

Cleardivice

Cleardivice

Очищає екран і встановлює поточний покажчик в початок

Setviewport

Setviewport(x1,y1,x2,y2:integer,clip:boolean);

Встановлює попточне вікно для графічного виведення

Clearviewport

Clearviewport

Очищає вікно

Putpixel

Putpixel (а,b,c :integer);

Малює точку кольором с в (x,y)

Line

Line(x1, y1, x2,y2 :integer);

Малює лінію від (x1, y1) до (x2,y2)

Rectangle

Rectangle (x1, y1, x2, y2:integer );

Малює прямокутник з діагоналлю від (x1, y1) до (x2, y2)

Bar

Bar (x1, y1, x2, y2:integer);

Малює зафарбований прямокутник

Bar3d

Bar3d(x1,y1,x2,y2,d:integer,а:boolean);

Малює тривимірну смугу (паралелепіпед)

Circle

Circle (x,y,r: word);

Малює коло радіусу r з центром в точці (x, у)

Arc

Arc(x, у, а, b, r:integer);

А, b- початковий і кінцевий кути в градусах

Малює дугу з початкового кута до кінцевого, використовуючи (x,y) як центр

Ellipse

Ellipse (x, у, а, b, rx, ry: integer);

А, b- початковий і кінцевий кути в градусах

Малює еліптичну дугу від початкового кута до кінцевого, використовуючи (x, у) як центр

Fillellipse

Fillellipse (x, у, rx, ry:integer);

Rx, ry – вертикальна і горизонтальна вісі

Малює зафарбований еліпс

Moveto

Moveto (x, у:integer);

Пересуває поточний покажчик в (x, у)

Moverel

Moverel(x, у : integer);

Пересуває поточний покажчик на задану відстань від поточної позиції, на x по горизонталі і на у по вертикалі

Outtext

Outtext (text: string);

Виводить текст від поточного покажчика

Outtextxy

Outtextxy(x, у: integer, text: string);

Виводить текст з (x, у)

Sector

Sector(x, у, а, b, rx, ry: integer);

а, b- початковий і кінцевий кути в градусах

Малює і заповнює сектор еліпса

Таблиця 7.2

Функції модуля Graph

Getbkcolor

Повертає поточний фоновий колір

Getcolor

Повертає поточний колір

Getx

Повертає координату x поточної позиції

Gety

Повертає координату у поточної позиції

Getpixel

Повертає колір крапки в (x, у)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]