Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




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

Таблиця 39

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

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

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

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

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

Процедура PutPixel (x,y: integer); x,y – координати точки; Color – її колір (значення беруть зі встановленої палітри).

2. Відображення лінії:

a) процедура Line(x1, y1, x2, y2: integer); x1, y1, x2, y2 – координати початкової і кінцевої точок лінії. Лінія рисується поточним стилем і поточним кольором;

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

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

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

Таблиця 40

Const Значення Характеристика
SolidLn   Безперервна
PottedLn   Пунктирна
CenterLn   Штрих-пунктирна
DashedLn   Штрихована
UserBitLn   Задана

Параметр Potte r n використовуєтьсятільки для ліній типу UserBitLn і може приймати значення від 1 до 65536, тобто 2 байти кожен біт (із 16 бітів слова) може приймати значення 0 або 1 (піксел не світиться або світиться). Таким чином параметр Potte r n задає відрізок ліній, довжиною 16 пікселів. Цей шаблон періодично повторюється по всій довжині ліній.

Параметр Thich набуває 2 значень: Norm width = 1; Thick Width = 3.

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

1. Процедура Rectangle(х1, y1, x2, y2: іnteger); створює прямокутник з координатами х1, у2 – лівого верхнього кута і х2, у2 – правого нижнього кута. Область середини прямокутника не зафарбована, співпадає з кольором фону екрану. Для ліній прямокутника використовується поточний стиль ліній і колір (заданий).

2. Процедура Bar(x1, y1, x2, y2: integer); утворює прямокутник, внутрішня область якого заповнюється поточним стилем (тип і колір). Параметри процедури – відповідні координати лівого верхнього та правого нижнього кутів. Використовують для побудови гістограм, діаграм тощо.

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

Тор oп = true – верхня грань відображається;

Тор off = false – верхня грань не відображається.

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

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

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

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

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

Туре

Pointype = record

x,y:integer;

end;

2. Процедура FillPoly(n:word; var points); схожа на попередню, але, на відміну від неї, рисує замкнутий багатокутник і зафарбовує його. Стиль і колір ліній та контуру задається процедурами SetLineStyle i SetColor, тип і колір заповнення – процедурою SetFillStyle.

3. Процедура FloodFill (x, y: integer; Borlder: word); служить для заповнення заданим стилем (SetFillStyle) області в середині або зовні замкненого контуру. Параметри: х, у – координати точки в середині або зовні контуру; Border – задає колір контуру. Якщо контур незамкнений то буде заповнення всього екрану заданим стилем.

Побудова кола, дуги та еліпса

1. Процедура Circle (x, y: integer; r: word); зображає коло поточного кольору, товщину і вид ліній. Параметри х, у – координати центра кола, r – радіус у пікселах.

2. Процедура Аrс (x,y: integer; Stangle EndAngle, r: word); креслить дугу кола. Задається координатами центра кола, початковим та кінцевим кутами (у градусах), які відраховуються від горизонтальної осі проти часової стрілки; радіус кола у пікселах.

3. Процедура Ellipse (x, y: integer; StAngle, EndAngle, xr, yr, r: word); призначена для побудови еліптичних дуг. Параметри: координати центра, початковий та кінцевий кути, горизонтальний та вертикальний радіуси еліпса у пікселах.

4. Процедура Sector (x,y: integer; StAngle, EndAngle, rx,ry,r: word); відображає сектор еліпса, який заповнюється поточним стилем. Параметри аналогічні.

5. Процедура FillEllipse (x,y: integer; xr, yr: word); креслить контур еліпса поточним кольором і заповнює поточним стилем. Параметри: координати центра, горизонтальний та вертикальний радіуси еліпса.

6. Процедура PieSlice (x, y: integer; StAngle, EndAngle, r: word); зображає сектор кола і заповнює поточним стилем. Зручно використовувати для побудови кругових діаграм.

5. Програмування графіків в комбінації з текстом

Відображення тексту у графічному режимі має ряд особливостей:

1) всі дії виконуються тільки з рядковими константами і змінними, тому вся чисельність інформації повинна перетворюватись в символьну;

2) можливість використання різноманітних шрифтів.

Основні засоби модуля Graph для виведення текстової інформації:

a) процедура outtext (text: string); виводить на екран рядок тексту починаючи з поточного розміщення графічного курсора СР;

b) процедура outtextxy (x, y, text); виводить рядок тексту починаючи з указаних координат;

c) процедура SetTextStyle (Font, Direct, size: word); встановлює стиль тексту. Параметри: код шрифту, код орієнтації символів, розмір символів.

6. Відображення цифрової інформації

В модулі Graph засоби відсутні, але можна використовувати такий спосіб: спочатку перетворити число або цифру в рядок за допомогою процедури Str, а далі операцією конкатенції (+) поєднати її з рядком, який відображається процедурою OutTextXY.




Поделиться с друзьями:


Дата добавления: 2015-05-24; Просмотров: 367; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.017 сек.