- •Тема_7: Робота в графічному режимі
- •Приклади побудови графічних зображень.
- •Створення ефекту руху зображення в графічному режимі.
- •1. Текстовий та графічний режими роботи
- •2. Ініціалізація графічного режиму
- •InitGraph (grDriver, grMode, “шлях до драйвера”);
- •3. Бібліотека Graph
- •Стандартні процедури та функції для побудови графічних зображень
- •4. Приклади побудови графічних зображень
- •Var grDriver: integer;
- •Var grDriver:integer;
- •InitGraph(grDriver,grMode,grPath);
- •Var grDriver:integer;
- •InitGraph(grDriver,grMode,grPath);
- •5. Створення ефекту руху зображення в графічному режимі
- •Var grDriver:integer;
- •I:integer;
- •Var grDriver:integer;
- •I:integer; {параметр циклу}
- •InitGraph(grDriver,grMode,grPath);
- •6. Відтворення звуку
3. Бібліотека Graph
Усі зображення базових геометричних фігур, контури ліній та кольорова гама задається процедурами та функціями з модуля Graph.
Стандартні процедури та функції для побудови графічних зображень
Arc (x, y, кут початку, кут кінця, радіус: integer); – викреслюється дуга з центром в точці з координатами (x, y). Параметри кут початку та кут кінця задають кутові координати початкової та кінцевої точок лінії дуги, яка викреслюється проти годинникової стрілки від початкової точки до кінцевої. Кутові координати задаються в градусах. Параметр радіус задає радіус дуги.
Дуга викреслюється кольором, заданим процедурою SetColor.
Bar (x1, y1, x2, y2: integer ); – викреслює зафарбований прямокутник. Параметри x1 та y1 задають розташування лівого верхнього кута прямокутника, x2 та y2 – правого нижнього. Стиль і колір заливки задається за допомогою процедури SetFillStyle.
Bar3D (x1, y1, x2, y2: integer; глибина: word; границя: boolean); - викреслює паралелепіпед. Параметри x1 та y1 задають розташування лівого верхнього, а x2 та y2 – правого нижнього кута ближньої грані паралелепіпеда. Параметр глибина задає відстань між передньою та задньою гранями. Параметр границя визначає, чи треба викреслювати верхню границю задньої грані паралелепіпеда. Колір та стиль заливки ближньої грані паралелепіпеда можна задати за допомогою процедури SetFillStyle, колір ліній границі – процедурою SetColor.
Circle (x, y: integer; радіус: word); – викреслює коло з заданим радіусом з центром в точці з координатами (x, y). Колір лінії кола можна задати за допомогою процедури SetColor.
Ellipse (x, y, кут початку, кут кінця, радіусX, радіусY: integer); – викреслює еліпс або дугу еліпса з центром в точці з координатами (x,y). Параметри кут початку та кут кінця задають кутові координати початкової та кінцевої точок лінії еліпса, яка викреслюється проти годинникової стрілки від початкової точки до кінцевої. Кутові координати задаються в градусах. Параметри радіусX та радіусY визначають горизонтальний та вертикальний радіуси еліпса. Лінія еліпса або дуга викреслюється кольором, заданим процедурою SetColor.
GetX: integer; – функція, яка повертає координату X покажчика виведення.
GetY: integer; – функція, яка повертає координату Y покажчика виведення.
GraphResult: integer; - повертає результат (код помилки) останньої виконаної графічної операції. Якщо операція виконана успішно, функція повертає нуль.
Line (x1, y1, x2, y2: integer); – викреслює лінію між двома точками екрану, заданими координатами (x1, y1) та (x2, y2). Лінія викреслюється стилем, встановленим процедурою SetLineStyle. Колір лінії можна задати за допомогою процедури SetColor.
LineTo (x1, y1: integer); – викреслює лінію від поточного положення покажчика виводу до точки з координатами (x1, y1). Лінія викреслюється стилем, встановленим процедурою SetLineStyle. Колір лінії можна задати за допомогою процедури SetColor.
MoveTo (x, y: integer); – переміщує покажчик виведення в точку з координатами (x, y).
MoveRel (dx, dy: integer); – переміщує покажчик виведення на dx та dy пікселів. Якщо значення параметра dx (dy) додатне, то покажчик переміщується вниз (ліворуч), якщо від’ємне, то – вгору (праворуч).
OutText (текст: string); – виводить символьний рядок текст від поточного положення покажчика виведення і переміщує покажчик виведення в точку, розташовану за останнім виведеним символом. Колір символів можна задати за допомогою процедури SetColor, а шрифт – SetTextStyle.
OutTextXY (x, y: integer; текст: string); – встановлює покажчик виведення в точку з координатами (x, y) і виводить рядок символів текст, при цьому покажчик виведення не змінює свого положення, він залишається в точці з координатами (x, y). Колір символів можна задати за допомогою процедури SetColor, а шрифт – SetTextStyle.
PieSlice (x, y, кут початку, кут кінця, радіус: integer); – викреслює сектор з радіусом радіус з центром в точці з координатами (x, y). Параметри кут початку та кут кінця задають кутові координати початкової та кінцевої точок лінії еліпса, яка викреслюється проти годинникової стрілки від початкової точки до кінцевої. Кутові координати задаються в градусах. Стиль і колір заливки сектора задається за допомогою процедури SetFillStyle, колір лінії та границь сектора задається за допомогою процедури SetColor.
PutPixel (x, y, колір: integer); – забарвлює піксель, точку з координатами (x, y), кольором колір.
Rectangle (x1, y1, x2, y2: integer); – викреслює прямокутник. Параметри x1 та y1 задають розташування лівого верхнього кута прямокутника, x2 та y2 – правого нижнього. Вид контуру прямокутника можна задати за допомогою процедури SetLineStyle, а колір – за допомогою процедури SetColor.
Sector (x, y, кут1, кут2, радіусХ, радіусY: integer ); –викреслює еліптичний або коловий сектор. Параметри x та y задають положення центра сектора, кут1 та кут2 – кути прямих, які обмежують сектор, а радіус Х і радіусY – радіуси еліпса по осям Х та Y. Стиль і колір заливки сектора задається за допомогою процедури SetFillStyle, колір границь сектора задається за допомогою процедури SetColor.
SetColor (колір: word); – задає колір для виведення тексту (процедури OutText та OutTextXY), викреслювання ліній та фігур (процедури Line, LineTo, Circle, Ellipse, Rectangle та інші). В якості параметра колір зазвичай використовують іменовані константи.
Колір |
Константа |
Значення константи |
Чорний |
Black |
0 |
Синій |
Blue |
1 |
Зелений |
Green |
2 |
Бірюзовий |
Cyan |
3 |
Червоний |
Red |
4 |
Бузковий |
Magenta |
5 |
Коричневий |
Brown |
6 |
Білий |
LightGray |
7 |
Сірий |
DarkGray |
8 |
Блакитний |
LightBlue |
9 |
Світло-зелений |
LightGreen |
10 |
Світло-бірюзовий |
LightCyan |
11 |
Світло-червоний |
LightRed |
12 |
Світло-бузковий |
LightMagenta |
13 |
Жовтий |
Yellow |
14 |
Яскраво-білий |
White |
15 |
SetFillStyle (стиль, колір: word); – встановлює стиль та колір заливки для викреслювання областей (процедури Bar, Bar3D, Sector, PieSlice та інші). В якості параметра стиль зазвичай використовують іменовані константи.
Константа |
Стиль заповнення області |
EmptyFill |
Без заливки (суцільна заливка кольором фону) |
SolidFill |
Суцільна заливка поточним кольором |
LineFill |
Горизонтальне штрихування |
LtSlashFill |
Штрихування під кутом 45º вліво тонкими лініями |
SlashFill |
Штрихування під кутом 45 º вліво |
BkSlashFill |
Штрихування під кутом 45º вправо тонкими лініями |
LtBkSlashFill |
Штрихування під кутом 45º вправо |
HatchFill |
Штрихування кліткою |
XhatchFill |
Штрихування під кутом 45 º рідкою косою кліткою |
InterleaveFill |
Штрихування під кутом 45 º частою косою кліткою |
WideDotFill |
Заповнення рідкими точками |
CloseDotFill |
Заповнення частими точками |
UserFill |
Тип заповнення визначається програмістом |
SetLineStyle (тип лінії, товщина: word); – встановлює стиль контурів та ліній (процедури Line, LineTo, Sircle, Ellipse та інші). Параметр тип лінії, в якості якого зазвичай використовують іменовані константи, визначає вид лінії. Параметр товщина визначає товщину лінії. Лінія може бути звичайної товщини (константа NormWidth) або потовщена (константа ThickWidth)
Константа |
Тип лінії |
SolidLn |
Суцільна, неперервна |
DottedLn |
Пунктирна, з постійною довжиною штрихів |
CenterLn |
Штрих-пунктирна лінія |
DashedLn |
Пунктирна з довжиною штрихів трохи більшою, ніж у лінії типу DottedLn |
SetTextStyle (шрифт, орієнтація, розмір: word); –встановлює шрифт, розмір та орієнтацію тексту, який виводиться процедурами OutTextXY та OutText. В якості параметра шрифт зазвичай використовують іменовані константи. Параметр орієнтація задає орієнтацію тексту. Текст може бути орієнтований звичайним чином (константа Normal) або вертикально, тобто знизу догори (константа Vertical).
Константа |
Значення |
Шрифт |
DefaultFont |
0 |
Стандартний. Кожен символ формується в квадраті розміром 8х8 пікселів |
TriplexFont |
1 |
Triplex шрифт |
SmallFont |
2 |
Мілкий |
SansSerifFont |
3 |
SansSerif шрифт |
GothicFont |
4 |
Готичний |