Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2000
Тип роботи:
Графіки
Предмет:
Інші

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ ДЕРЖАВНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»  УПРАВЛІННЯ КОЛЬОРАМИ ТА ПАЛІТРОЮ ГРАФІЧНИХ ЗОБРАЖЕНЬ ІНСТРУКЦІЯ До лабораторної роботи № 3 з курсу «Комп’ютерна графіка» Затверджено на засiданнi кафедри "Автоматика та телемеханiка" Протокол N 11 вiд 17.02.2000 p. Львів 2000 Управління кольорами та палітрою графічних зображень: Інструкція до лабора-торної роботи N 3 з курсу "Комп'ютерна графіка" для студентів спеціальності 6.0914 "Комп'ютеризовані системи, автоматика і управління" / Уклали Р.А.Гордійчук, В.І.Отенко, А.Е.Лагун - Львiв:Державний університет "Львівська політехніка", 2000. - 10 с. Укладачi: Р.А.Гордiйчук, ст.викладач В.І.Отенко, ст.викладач А.Е.Лагун, асистент Вiдповiдальний за випуск І.М. Ковела, канд.техн.наук, доц. Рецензенти: С.В. Сенчина, ст.викладач Мета роботи - вивчити процедури та функції для управління кольорами та па-літрою графічних зображень; навчитися складати програми на алгоритмічній мові Турбо-Паскаль для побудови різноманітних кольорових зображень. 1. КОРОТКІ ТЕОРЕТИЧНІ ДАНІ В залежності від типу відеомонітора на його екрані можуть відтворюватися різні кольори. Гама кольорів, що може знаходитися одночасно на екрані називається па-літрою. Кількість кольорів в палітрі називається її розміром. Розглянемо процедури та функції для управління кольорами та палітрою гра-фічних зображень, які знаходяться в модулі GRAPH.TPU мови Турбо-Паскаль (ці про-цедури та функції можуть використовуватися лише після ініціалізації графічного ре-жиму роботи). Процедура SETCOLOR встановлює поточний колір для виводу ліній та символів; формат звертання SETCOLOR ( <колір> ) , де <колір> - вираз типу word, що задає поточний колір. В модулі GRAPH є такі константи для задання кольору: const 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; {білий} Функція GETCOLOR повертає значення типу word, в якому є код поточного кольору. Звертання GETCOLOR. Функція GETMAXCOLOR повертає значення типу word, в якому знаходиться максимально доступний код кольору, який можна використати для звертання до SETCOLOR. Звертання GETMAXCOLOR. Процедура SETBKCOLOR встановлює колір фону; формат звертання SETBKCOLOR ( <колір> ), де <колір> - вираз типу word, що задає колір фону. Функція GETBKCOLOR повертає значення типу word, де знаходиться поточний колір фону. Звертання GETBKCOLOR. Процедура SETPALETTE замінює один із кольорів палітри на новий колір; фор-мат звертання SETPALETTE ( N,<колір> ), де N - вираз типу word, що вказує на номер кольору в палітрі; <колір> - вираз типу shortint, який визначає номер кольору, що знову встанов-люється. Процедура GETPALETTE повертає розмір і кольори встановленої палітри; фор-мат звертання GETPALETTE ( <палітра> ), де <палітра> - змінна типу PALETTETYPE, що повертає розмір та кольори палітри. В модулі GRAPH.TPU існують константа const MaxColors = 15; і тип type PaletteType = record size :word; {кількість кольорів в палітрі} colors:array [1..MaxColors] of shortint{коди кольорів, що входять в палітру} end; Процедура SETALLPALETTE змінює одночасно кілька кольорів палітри; формат звертання SETALLPALETTE ( <вст.кольори> ), де <вст.кольори> - кольори, що встановлюються. Функція GETPALLETTESIZE повертає значення типу integer, що вказує на розмір палітри (максимальна кількість доступних кольорів). Звертання GETPALLETTESIZE. Процедура SETFILLSTYLE встановлює стиль (тип і колір) штрихування; формат звертання SETFILLSTYLE (<штрихування>,<колір>), де <штрихування> - змінна типу word, що визначає тип штрихування; <колір> - змінна типу word; колір штрихування. В модулі GRAPH.TPU є такі константи для типів штрихування: const EmptyFill = 0; {штрихування фоном (візерунок відсутній)} SolidFill = 1; {суцільне штрихування} LineFill = 2; {штрихування лініями} LtSlashFill = 3; {штрихування ///////} SlashFill = 4; {штрихування грубими ///////} BkSlashFill = 5; {штрихування \\\\\\\} LtBkSlashFill = 6; {штрихування грубими \\\\\\\} HatchFill = 7; {штрихування +++++++} XHatchFill = 8; {штрихування xxxxxxx} InterleaveFill = 9; {штрихування прямокутними клітинками} WideDotFill = 10; {штрихування розрідженими точками} CloseDotFill = 11; {штрихування густими точками} UserFill = 12; {штрихування визначається користувачем} Якщо параметр <штрихування> має значення 12 (UserFill), то малюнок візерунку визначається користувачем за допомогою звертання до процедури SETFILLPATTERN. Процедура SETFILLPATTERN встановлює зразок малюнка та колір штрихування; формат звертання SETFILLPATTERN (<зразок>,<колір>), де <зразок> - вираз типу FILLPATTERNTYPE, що встановлює зразок малюнка для <штрихування> = UserFill в процедурі SETFILLSTYLE; <колір> - змінна типу word; колір штрихування. Зразок малюнка задається у вигляді матриці з 8x8 пікселів і може бути представ-лений масивом з 8 байт типу: type FillPatternType = array [1..8] of byte; Кожний розряд довільного з цих байтів керує висвітленням пікселя на екрані, причому перший байт визначає 8 пікселів першої стрічки на екрані, другий байт - 8 пікселів другої стрічки і т.д. Процедура GETFILLPATTERN повертає зразок замальовування, встановлений раніше процедурою SETFILLPATTERN; формат звертання GETFILLPATTERN (<зразок>), де <зразок> - змінна типу FILLPATTERNTYPE, що встановлює зразок замальовування. Процедура GETFILLSETTINGS повертає поточний стиль штрихування; формат звертання GETFILLSETTINGS (<стиль>) , де <стиль> - змінна типу FILLSETTINGSTYPE, через яку повертається поточний стиль штрихування. В модулі GRAPH.TPU є такий тип: type FillSettingsType = record Pattern : word; {зразок} Color : word; {колір} end; Процедура FLOODFILL штрихує довільну замкнену фігуру; формат звертання FLOODFILL (X,Y,<колір межі>), де X, Y - вирази типу integer; координати будь-якої точки всередині замкненої фігури; <колір межі> - вираз типу word, колір лінії, що визначає межу. Процедура штрихує замкнену фігуру штрихуванням і кольором, які встановлені процедурою SETFILLSTYLE. Якщо фігура не замкнена, то штрихування заповнить весь екран. Процедура BAR штрихує прямокутну область екрану. Звертання BAR (X1,Y1,X2,Y2), де X1, Y1 та X2, Y2 - вирази типу integer, які визначають координати лівого верхнього та правого нижнього кутів прямокутника, що замальовується. Процедура штрихує (не обводить) прямокутник штрихуванням і кольором, встановленими процедурою SETFILLSTYLE. Процедура FILLPOLY обводить лінією і штрихує замкнений багатокутник; формат звертання FILLPOLY (N,<координати>), де N - вираз типу word, що задає кількість вершин замкненого багатокутника; <координати> - вираз типу POINTTYPE, в якому є координати вершин. Координати вершин задаються парою значень типу word: перше визначає горизонтальну, друге - вертикальну координату. В модулі GRAPH.TPU визначений та-кий тип: type PointType = record x,y: word end; Стиль і колір лінії контура задається процедурами SETLINESTYLE і SETCOLOR, стиль і колір штрихування - процедурою SETFILLSTYLE. Процедура FILLELLIPSE обводить лінією і штрихує еліпс; формат звертання FILLELLIPSE (X,Y,<поч.кут>,<кінц.кут>,RX,RY), де X, Y - вирази типу integer, що задають координати центра; <поч.кут> і <кінц.кут>, RX, RY - вирази типу word, що визначають, відповідно, початковий і кінцевий кути, горизонтальний та вертикальний радіуси еліпса в піксе-лях. Процедура SECTOR креслить та штрихує сектор еліпса; формат звертання SECTOR (X,Y,<поч.кут>,<кінц.кут>,RX,RY). Параметри звертання такі самі, як і в процедури FILLELLIPSE. Стиль і колір лінії сектора задається процедурами SETLINESTYLE і SETCOLOR, стиль і колір штрихування - процедурою SETFILLSTYLE. Процедура PIESLICE креслить та штрихує сектор кола; формат звертання PIESLICE (X,Y,<поч.кут>,<кінц.кут>,R), де R - вираз типу word, що визначає радіус кола Сектор обводиться лінією, стиль і колір якої задані процедурами SETLINESTYLE і SETCOLOR, стиль і колір штрихування - процедурою SETFILLSTYLE. 2. ЗАВДАННЯ 2.1. Домашня пiдготовка до роботи Навчитися ініціалізувати графічний режим роботи відеоадаптера з різною кількістю кольорів та певними типами палітри на алгоритмічній мові Турбо-Паскаль. Вивчити основні графічні процедури і функції алгоритмічної мови Турбо-Паскаль для побудови кольорових графічних зображень. Написати програму на алгоритмічній мові Турбо-Паскаль, яка виводить на екран розмальоване графічне зображення. Варіанти завдань брати за вказівкою викладача з таблиці 1. Таблиця 1. N% п/п Варіанти завдань N% п/п Варіанти завдань  1.  2   3.  4.   5.  6.   7.  8.    N% п/п Варіанти завдань N% п/п Варіанти завдань  9.  10.   11.  12.   13.  14.   15.  16.   17.  18.   19.  20.   21.  22.   23.  24.   25.  26.    2.2. Робота в лабораторiї Ввести в комп'ютер програму, написану на мові Турбо-Паскаль згідно з отри-маним завданням. Здійснити відладку введеної програми, виправивши виявлені компілятором помилки. Виконати програму. Текст відлагодженої програми та отримані результати оформити в звіт по лабораторній роботі. 3. ЗМIСТ ЗВIТУ 1. Повний текст завдання. Блок-схему алгоритму програми. Список ідентифікаторів констант, змінних, процедур і функцій, використаних в програмі, та їх пояснення. 4. Остаточно відлагоджений текст програми згідно з отриманим завданням. 5. Результати виконання програми. 4. КОНТРОЛЬНI ПИТАННЯ Скільки кольорів і які саме існують для відповідних графічних режимів в мові Турбо-Паскаль ? Як встановити певний колір і тип штрихування для заповнення довільної замкненої області за допомогою процедур та функцій модуля GRAPH.TPU мо-ви Турбо-Паскаль ? Які стандартні процедури та функції мови Турбо-Паскаль для креслення зама-льованих та геометричних фігур вам відомі? СПИСОК ЛIТЕРАТУРИ Фаронов В.В. Программирование на персональных ЭВМ в среде Турбо-Пас-каль.- 2-е изд. - М.: Изд-во МГТУ, 1992. Йенсен К., Вирт Н. Паскаль. Руководство для пользователя и описание языка.- М.: Финансы и статистика, 1982. Сердюченко В.Я. Розробка алгоритмів та програмування на мові Turbo Pascal: Навчальний посібник для техн. вузів - Х.: ВКП "Парітет"ЛТД, 1995. 4. Гроного П. Программирование на языке Паскаль. - М.: Мир, 1982.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!