Відображення на екрані дисплея графічної інформації

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

ення починається з позначення початкової позиції. У текстовому режимі цю позицію позначає курсор, який розміщується за останнім символом і вказує на місце наступного символу. В графічних режимах відображаємого на екрані курсору не має, але є скритий поточний показчик СР (current pointer), який виконує аналогічні функції курсору текстового режиму.

В графічному режимі для переміщення СР використовують процедури:

  1. Move To (x, y : integer) переміщує поточний показчик СР в точку з координатами x, y;
  2. Move Rel (dx, dy : integer) переміщує СР на dx точок по горизонталі і на dy точок по вертикалі відносно останнього положення поточного показчика. Якщо dx, dy більше 0, то координати СР збільшуються; якщо менше 0 - зменшуються.

Для визначення поточного розташування графічного курсору СР використовують функції:

 

GET X : integer;

GET Y : integer;

 

які повертають значення поточних координат показчика.

Приклад 1: позиціонування графічного курсору та визначення його координат:

 

Uses GRAPH;

Var Driver, Mode : integer;

Begin

Driver := Detect;

InitGraph (Drive, Mode, );

If GraphResult <> 0 then

Begin

WriteLn (ошибка);

Halt (1);

End;

Move To (GetMax X div 2, GetMax Y div);

OutTextXY (GET X, GET Y, курсор по центру);

MoveRel (-GET X div 2, -GET Y div 2);

OutTextXY (курсор переміщений);

ReadLn;

CloseGraph;

End.

 

Установка кольору та стилю

1) процедура Set Color (Color : word); встановлює поточний колір для ліній та символів. Параметр Color позначає номер кольору від 0 до 15:

 

Таблиця 1

Black = 0Light Gray = 7Blue = 1Darc Gray = 8Green 2 Light Blue = 9Cyan =3Light Green = 10Red = 4Light Cyan = 11Magente = 5Light Red = 12Brown = 6Light Magente = 13

Yellow = 14

White = 15

Blink = 128

2)процедура SetBKColor (Color : word); встановлює колір фону, який визначається параметром Color.

  1. процедура SetFillStyle (Fill, Color : word); встановлює стиль (тип і колір) заповнення фрагментів зображення.

Геометричні побудови.

  1. Відображення точки:

В модулі Graph для відображення точки використовують процедуру:

 

PutPixel (x, y : integer);

 

x, y координата точки;

Color її колір (значення беруть зі встановленої палітри).

  1. Відображення ліній:

а) Процедура:

 

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

 

x1, y1, x2, y2 - координати початкової і кінцевої точок лінії. Лінія креслиться поточним стилем і поточним кольором.

б) процедура: LineTo (x, y : integer); будує лінію від точки поточного розміщення показчика до точки зкоординатами (x,y).

в) процедура: LineRel (dx, dy : integer); проводить відрізок від точки поточного розміщення на величину заданого приросту.

г) процедура:SetLineStyle (Type, Pattern, Thich : word); встановлює стиль відображення ліній, де параметри це відповідно тип, шаблон і товщина лінії. Тип лінії задається константою з таблиці 3:

 

Таблиця 3

ConstЗначенняХарактеристикаSolidLn0БезперервнаPottedLn1ПунктирнаCenterLn2Штрих-пунктирнаDashedLn3ШтриховаUserBitLn4Задана

Параметр Pattern тільки для ліній типу UserBitLn і може приймати значення від 1..65536, тобто 2 байта кожен біт (із 16 біт слова) може приймати значення 0 або 1 (піксель не світиться або світиться).

Таким чином параметр Pattern задає відрізок ліній, довжиною 16 пікселів.

Цей шаблон періодично повторюється по всій довжині ліній.

Параметр Thich приймає 2 значення:

 

Norm Width = 1

Thick WidTh = 3

 

Побудова прямокутників та паралелепіпедів

  1. Процедура Rectangle (x1, y1, x2, y2 : integer); створює прямокутник з координатами x1, y1 лівого верхнього кута і x2, y2 правого нижнього кута. Область середини прямокутника незафарбована і співпадає з кольором фону екрану. Для ліній прямокутника використовується поточний стиль ліній і колір (заданий).
  2. Процедура Bar (x1, y1, x2, y2 : integer); утворює прямокутник, внутрішня область якого заповнюється поточним стилем (тип і колір). Параметри процедури відповідні координати лівого верхнього та правого нижнього кутів. Використовують для побудови гістограм, діаграм і т.п.
  3. Процедура Bar3D (x1, y1, x2, y2 : integer; D3 : word; Top : boolean); відображає паралелепіпед (трьохмірне зображення) і зафарбовує його передню грань поточним стилем. X1..Y2 координати лівого верхнього та правого нижнього кута передньої грані; D3 трьохмірне зображення "глибина" у пікселях; Top задає режим відображення верхньої грані. В модулі GRAPH для режиму Top визначені 2 константи:

 

Top On = TRUE верхня грань відображається;

Top Off = FALSE верхня грань не відображається.

 

Будова многокутників.

Многокутники можна зображати декількома способами: наприклад, за допомогою процедур Line, LineTo.

Паскаль також містить процедури, які дозволяють будь-які многокутники.

  1. процедура DrowPoly (n : word; var points); створює многокутник за допомогою ліній поточного кольору, стиля і товщини. Параметр n кількість точок ламаної; points змінна типу PointType, яка містить координати x, y точок ламаної.

В модуліGRAPH передбачений такий тип:

 

Type

PoinType = RECORD

x, y : integer;

end;

 

  1. процедура FillPoly (n : word; var points); схожа з попередньою, але навідміну від неї малює замкнутий многокутник і зафарбовує його. Стиль і колір лінії і контура задається процедурами SetLineStyle i SetColor, тип і колір заповнення процедурою SetFillStyle.
  2. Процедура FloodFill (x, y : integer; Border : word); служить для заповнення заданим стилем (SetFillStyle) області в середині або зовні замкненого контуру. Параметри: x, y координати точки в середині або зовні контура; Border задає колір контуру. Якщо контур незамкнений то буде заповненн?/p>