- •1. Теоретичні відомості
- •1.1. Ініціалізація графічного режиму
- •Var gd, gm: integer;
- •InitGraph( gd, gm,’вказується шлях до драйвера, чим докладніше, тим краще’)
- •1.2. Базові процедури і функції.
- •1.4.1. Виведення точки.
- •PutPixel (X, у: integer, color:word);
- •Шкала кольорів
- •1.4.2. Виведення лінії.
- •Line (x1, y1, x2,y2 :integer);
- •1.3. Екран і вікно в графічному режимі.
- •SetViewPort (x1, y1, x2, y2:integer, Clip:boolean);
- •SetViewPort( 0, 0, GetMaxX, GetMaxY, true);
- •1.4. Виведення найпростіших фігур.
- •SetColor(Gyan); Line(1,1,600,1);
- •SetLineStyle(1,0,1); Line(15,15, 150,130);
- •Line(15,15, 150,130);
- •1.5. Побудова багатокутників.
- •1.5.1. Побудова прямокутників.
- •Rectangle (x1, y1, x2, y2:integer ),
- •Bar (x1, y1, x2, y2:integer),
- •Bar3d (x1, y1, x2,y2, d: integer, а:boolean)
- •1. SetColor(Green);
- •2. SetFillStyle(1,3);
- •3. SetFillStyle(1,3);
- •1.5.2. Побудова багатокутників.
- •DrawPoly(а: word, var PolyPoints).
- •Var gd, gm: integer;
- •Xm, ym, xmaxD4, ymaxD4:word;
- •Initgraph(gd, gm, ‘ с/bp’);
- •FillPoly(а: word, var PolyPoints).
- •Initgraph(gd, gm, ‘ с/bp’);
- •1.6. Побудова дуг і кіл.
- •1.7. Робота з текстом.
- •1.7.1. Виведення тексту.
- •OutText(‘натисніть будь-яку клавішу”);
- •OutTextXy(X, у: integer, Textst: string),
- •OutTextXy(60, 100, ‘натисніть будь-яку клавішу”)
- •1.7.2. Виведення чисельних значень.
- •1.7.3. Шрифти.
- •SetTextStyle(Font,d,c:word),
- •Стандартні шрифти
- •1.7.4. Вирівнювання тексту.
- •SetTextJustify(Horiz, Vert : word)
- •1.8. Побудова графіків функцій.
- •1.9. Цикли в графіці. Побудова випадкових процесів.
- •1.10. Створення ілюзії руху.
- •I, i1, i2, i3: real; gd, gm: integer;
- •2. Приклад виконання лабораторного завдання.
- •GetMem(BitMap,Size);
- •Var gd,gm:integer;
- •X,y:integer;
- •InitGraph (gd,gm,'egavga.Bgi');
- •Var gd,gm:integer;
- •VX,Vy,X,y:real;
- •InitGraph (gd,gm,'egavga.Bgi');
- •3. Завдання до виконання лабораторної роботи
- •4. Контрольні запитання
- •Ініціалізація графічного режиму.
- •5. Варіанти завдань
1.3. Екран і вікно в графічному режимі.
По аналогії з текстовими режимами графічний екран може розглядатися як одне велике або дещо менших за розміром вікон. Після установки вікна вся решта площі екрану як би не існує, і все введення-виведення здійснюється тільки через вікно. В кожний окремий момент може бути активним тільки одне вікно. Якщо вікон декілька, за перемикання введення-виведення в потрібне вікно відповідає програміст.
За замовчуванням вікно займає весь екран, значення координат його лівого верхнього і правого нижнього кута встановлюються автоматично процедурою ініціалізації InitGraph.
Якщо вимагається створити вікно, слід скористатися процедурою
SetViewPort (x1, y1, x2, y2:integer, Clip:boolean);
де x1, y1 – координати лівого верхнього кута, x2, y2 – координати правого нижнього кута вікна. Параметр Clip визначає, чи малюнок відсікатиметься при виході за межі вікна (Clip:=True) чи ні (Clip:=False). Після створення вікна за точку відліку приймається верхній лівий кут вікна, що має координати (0,0).
Координатну систему повного екрану можна відновити, зокрема, за допомогою ClearDevice або задавши в процедурі установки вікна максимально можливі значення:
SetViewPort( 0, 0, GetMaxX, GetMaxY, true);
Необхідно пам'ятати, що на відміну від текстових вікон графічні вікна після команди установки фону SetBkColor і очищення за допомогою ClearViewPort міняють фон разом із загальним фоном екрану. Тому фон (точніше «зафарбовування») графічного вікна слід встановлювати за допомогою процедур SetFillStyle і SetFillPattern.
1.4. Виведення найпростіших фігур.
1.4.1. Виведення точки.
Які б зображення не виводилися на екран, всі вони побудовані з точок, теоретично можна створити будь-яке зображення шляхом побудови точок певного кольору в потрібному місці екрану. В бібліотеці Graph виведення точки здійснюється процедурою
PutPixel (X, у: integer, color:word);
де x, у: координати розташування точки, color – колір.
Можливі значення Color приведені в таблиці:
Таблиця 7.3
Шкала кольорів
Колір |
Код |
Колір |
Код |
Black – чорний |
0 |
Darkgray – темно-сірий |
8 |
Blue – синій |
1 |
Lightblue – голубий |
9 |
Green - зелений |
2 |
Lightgreen – яскраво-зелений |
10 |
Gyan – бірюзовий |
3 |
Lightgyan – яскраво-бірюзовий |
11 |
Red – червоний |
4 |
Lightred – яскраво-червоний |
12 |
Magenta – малиновий |
5 |
Lightmagenta – яскраво-малиновий |
13 |
Brown – коричневий |
6 |
Yellow – жовтий |
14 |
Lightgray – світло-сірий |
7 |
White – білий |
15 |
Приклад.
PutPixel(320, 240, 4);
PutPixel(320,240,
Red);
виводить в центрі екрану точку червоного
кольору.
1.4.2. Виведення лінії.
З точок будуються лінії (відрізки прямих). Це можна зробити за допомогою процедури
Line (x1, y1, x2,y2 :integer);
де x1, y1 – координати початку, x2,y2 - координати кінця лінії, наприклад Line(1,1,600,1).
В процедурі Line немає параметра для установки кольору. В цьому випадку колір задається процедурою SetColor (колір: word); де колір з таблиці 7.3.
Приклад.
