Управління кольорами та палітрою графічних зображень

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Компютерних технологій автоматики та метрології
Факультет:
Не вказано
Кафедра:
Захист інформації

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

Рік:
2009
Тип роботи:
Звіт
Предмет:
Комп'ютерна графіка
Група:
ІБ – 44
Варіант:
4

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра «Захист інформації» EMBED Word.Picture.8 Звіт до лабораторної роботи № 4 Управління кольорами та палітрою графічних зображень з курсу “ Комп’ютерна графіка” Виконав: студент групи ІБ – 44 Перевірив: Баран Р. Д. Львів 2009 Мета роботи -вивчити процедури та функції для управління кольорами та па-літрою графічних зображень; навчитися складати програми на алгоритмічній мові Турбо-Паскаль для побудови різноманітних кольорових зображень. КОРОТКІ ТЕОРЕТИЧНІ ДАНІ В залежності від типу відеомонітора на його екрані можуть відтворюватися різні кольори. Гама кольорів, що може знаходитися одночасно на екрані називається па-літрою. Кількість кольорів в палітрі називається її розміром. Розглянемо процедури та функції для управління кольорами та палітрою гра-фічних зображень, які знаходяться в модулі GRAPH.TPU мови Турбо-Паскаль (ці про-цедури та функції можуть використовуватися лише після ініціалізації графічного ре-жиму роботи). Процедура SETCOLOR встановлює поточний колір для виводу ліній та символів; формат звертання SETCOLOR ( <колір> ) , де <колір> - вираз типу word, що задає поточний колір. Процедура 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. Процедура FLOODFILL штрихує довільну замкнену фігуру; формат звертання FLOODFILL (X,Y,<колір межі>), де X, Y - вирази типу integer; координати будь-якої точки всередині замкненої фігури; <колір межі> - вираз типу word, колір лінії, що визначає межу. Процедура штрихує замкнену фігуру штрихуванням і кольором, які встановлені процедурою SETFILLSTYLE. Якщо фігура не замкнена, то штрихування заповнить весь екран. Процедура BAR штрихує прямокутну область екрану. Звертання BAR (X1,Y1,X2,Y2), де X1, Y1 та X2, Y2 - вирази типу integer, які визначають координати лівого верхнього та правого нижнього кутів прямокутника, що замальовується. Процедура штрихує (не обводить) прямокутник штрихуванням і кольором, встановленими процедурою SETFILLSTYLE. Завдання: Текст програми: Uses Graph, CRT; var d, r, e, i, k :integer; X0, Y0: integer; const pi=3.1415; begin d:=detect; InitGraph (d , r, 'd:\bp\bgi'); e:=GraphResult; if e<>grok then Writeln (GraphErrorMsg(e))else begin setcolor (15); bar(0,0,640,480); setcolor(8); ellipse (320,240,100,260,100,100); ellipse (290,240,80,278,100,100); X0:=round(sin((260-90)*(pi/180))*100+290); Y0:=round(cos((260-90)*(pi/180))*100+240); repeat for i:=1 to 182 do begin setfillstyle(1,15); bar(0,0,640,480); setcolor(8); ellipse (320,240,100,260,100,100); ellipse (290,240,78,280,100,100); setfillstyle(1,14); floodfill(210,240,8); setcolor(1); X0:=round(sin((261-90+i)*(pi/180))*100+290); Y0:=round(cos((261-90+i)*(pi/180))*100+240); circle(X0,Y0,10); setfillstyle(0,7); floodfill(X0,Y0,1); delay(5000); if (keypressed) then halt(1); end; for i:=1 to 165 do begin setfillstyle (1,15); bar(0,0,640,480); setcolor(8); ellipse (320,240,100,260,100,100); ellipse (290,240,80,278,100,100); setfillstyle(1,14); floodfill(210,240,8); setcolor(1); X0:=round(sin((260+90-i)*(pi/180))*100+320); Y0:=round(cos((260+90-i)*(pi/180))*100+240); circle(X0,Y0,10); setfillstyle(0,7); floodfill(X0,Y0,1); delay(5000); if (keypressed) then halt (1); end; until(keypressed); end; readln; closegraph; end. Висновок: Я ознайомився з основними відомостями. Для свого варіанту навчився малювати рухливе зображення у середовищі Турбо-Паскаль, а також управляти кольорами та палітрою графічних зображень.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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