Міністерство освіти і науки України
Національний університет “Львівська політехніка”
кафедра АТ
Звіт
до лабораторної роботи №3 з курсу
“Комп’ютерна графіка”
на тему:
“Управління кольорами та палітрою графічних зображень засобами
Турбо-Паскаль”.
Варіант №19
1. Мета роботи:
Вивчити процедури та функції для управління кольорами та палітрою графічних зображень; навчитися складати програми на алгоритмічній мові Турбо-Паскаль (далі АМТП) для побудови різноманітних кольорових зображень.
2. Завдання:
Написати програму на АМТП, яка виводить на екран розмальоване зображення.
3. Блок-схема алгоритму програми.
3.1 Загальна блок-схема алгоритму програми:
1.
2
2.
3.
3.2 Деталізована блок-схема блоку № 1 (ініціалізація графічного режиму) загальної блок-схеми:
1
2
3
ні ні так
4
5
3.3 Деталізована блок-схема блоку № 2 (побудова зображення) згальної блок-схеми:
1.
2.
3.
4.
3.4 Деталізована блок-схема блоку № 3 (завершення графічного режиму) загальної блок-схеми:
1
4. Список ідентифікаторів, змінних процедур і функцій.
4.1 Процедури:
SetColor – встановлює поточний колір для виводу ліній та символів;
SetFillStyle – встановлює формат штрихування;
FloodFill – штрихує довільну замкнену фігуру;
Bar – малює зафарбований чотирикутник;
MoveTo – встановлює курсор в задане положення;
LineTo – малює лінію від поточного положення курсору до заданої координати;
Line – малює лінію від однієї координати до іншої;
IntGraphMode – ініціалізує графічний режим;
CloseGrsphMode – закриває графічний режим.
5. Остаточний текст програми:
uses Graph,Crt;
Procedure IntGraphMode(Mode:integer);
var Driver, Error: integer;
begin
Driver:=Detect;
InitGraph(Driver, Mode, '');
Error:=GraphResult;
if Error <> grOk then
begin
writeln(GraphErrorMsg(Error));
halt(1);
end;
end;
{********************}
Procedure CloseGraphMode;
begin
CloseGraph;
end;
{*************************************************}
Procedure Mal;
begin
{treug}
setcolor(blue);
setfillstyle(1,blue);
line(359,243,359,285);
line(359,285,300,265);
line(300,265,335,237);
line(325,244,359,244);
FloodFill(357,283,blue);
{C}
Setcolor(yellow);
setfillstyle(1,yellow);
line(320,250,320,275);
line(320,250,323,248);
line(323,248,331,248);
line(331,248,334,252);
line(334,252,331,252);
line(325,251,331,251);
line(324,251,324,272);
line(322,279,332,279);
line(320,275,322,279);
line(332,279,335,275);
line(333,276,327,276);
line(327,276,325,273);
FloodFill(330,277,yellow);
{++}
bar(340,257,344,268);
bar(337,260,348,265);
bar(358,257,362,268);
bar(354,260,366,265);
{kvadr}
setfillstyle(1,yellow);
bar(305,225,372,242);
{B}
setcolor(black);
MoveTo(310,227);
lineto(314,227);
line(315,228,315,232);
line(310,233,314,233);
line(315,235,315,238);
line(310,239,314,239);
line(310,227,310,239);
{O}
line(320,227,324,227);
line(325,228,325,238);
line(320,239,324,239);
line(319,228,319,238);
{R}
line(329,227,333,227);
line(329,233,333,233);
line(329,227,329,239);
line(334,227,334,233);
line(333,233,335,240);
{L}
line(339,227,339,239);
line(339,239,343,239);
{A}
line(346,230,346,239);
line(346,230,348,227);
line(348,227,350,230);
line(350,230,350,239);
line(346,233,350,233);
{N}
line(354,227,354,239);
line(359,227,359,239);
line(354,227,359,239);
{D}
line(363,227,363,239);
line(363,227,367,227);
line(363,239,367,239);
line(368,228,368,238);
readln;
end;
{*******************************}
begin
IntGraphMode(VGAMed);
Mal;
CloseGraphMode;
End.