Графіка в турбо паскаль

Графіка в турбо паскаль

Тема уроку: Графіка в Турбо Паскаль.

колір Код
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

Приклад 1:
Програма яка виводить на екран «Зоряне небо».
uses Graph;
var i, Gd, Gm: Integer;
BEGIN
Gd: = VGA; Gm: = VGAHi; InitGraph (Gd, Gm, '.. \ bgi');
If GraphResult = grOk
then begin
For i: = 0 to 1000 do
PutPixel (random (640), random (480), random (15) +1);
ReadLn
end
END.
Ø Circle (X, Y, R); - побудувати окружність з центром X, Y і радіусом R.
Ø Line (x1, y1, x2, y2); - побудувати відрізок прямої лінії від точки з координатами x1, y1 до точки з координатами x2, y2.
Ø Rectangle (x1, y1, x2, y2); - побудувати прямокутник з лівим верхнім кутом в точці з координатами x1, y1 і правим нижнім кутом в точці з координатами x2, y2 (сторони паралельні краях екрану)
Приклад 2:
Програма яка виводить різні незаповнені фігури (кола).
uses Graph;
const CenterX = 320; CenterY = 240;
var i, Gd, Gm: Integer;
BEGIN
Gd: = VGA; Gm: = VGAHi;
InitGraph (Gd, Gm, '.. \ bgi');
If GraphResult = grOk then
For i: = 0 to 23 do
Circle (CenterX, CenterY, i * 10);
END.

Ряд графічних процедур виконує побудову заповнених фігур - фігур із замкнутим контуром, автоматично заповнюються відразу після побудови:
Ø SetFillStyle (P, N); - процедура установки орнаменту Р = 0,1. 12 і кольору з номером
N для заповнюваних фігур.
o Р = 0 - суцільне заповнення кольором фону,
o Р = 1 - суцільне заповнення кольором з номером N,
o Р = 2..11 - стандартний набір орнаментів BGI,
o Р = 12 - орнамент і колір визначає користувач.
Ø Bar (x1, y1, x2, y2); - побудувати заповнений прямокутник із заданими
координатами лівого верхнього (x1, y1) і правого нижнього (x2, y2) кутів.
Ø Bar3d (x1, y1, x2, y2, d, t); - побудувати паралелепіпед із заповненою передній
гранню. Координати кутів (x1, y1), (x2, y2), глибина d. Мінлива t типу boolean задає висновок верхньої межі. При t = TopOn верхня грань показується, (true) t = TopOff (false) - немає.
Ø FillEllipse (X, Y, Rx, Ry); - побудувати заповнений еліпс з центром в точці (X, Y)
і радіусами (півосями) Rx - по горизонталі, Ry - по вертикалі.
Ø Sector (x, y, a1, a2, Rx, Ry); - побудувати заповнений сектор еліпса. a1 і a2 початковий і кінцевий кути (в) градусах, відлічувані проти годинникової стрілки щодо направлення осі X.
Ø PieSlice (x, y, a1, a2, R); - побудувати заповнений сектор кола з центром в точці
(X, y) і радіусом R.
Ø FillPoly (N, M); - заповнити довільну плоску фігуру з кордоном, описаної
масивом точок, N - число точок кордону.
3. Практичне завдання.
Намалювати паровоз, який зображений на слайді (7).

Program paravozzz;
uses crt, graph;
procedure paravoz;
begin
setfillstyle (1,4);
bar3d (100,280,280,380,25, true);
setfillstyle (1,5);
bar3d (280,180,400,380,25, true);
setcolor (1);
setfillstyle (1, yellow);
bar3d (300,200,380,260,0, false);
setfillstyle (1,12);
bar3d (120,300,260,360,0, false);
rectangle (300,285,380,370);
end;

procedure koleso;
begin
x: = 160;
for i: = 1 to 3 do
begin
setfillstyle (1,1);
fillellipse (x, 380,40,40);
setfillstyle (1,3);
fillellipse (x, 380,30,30);
x: = x + 100;
end;
end;
var gd, gm, i, x, y: integer;
begin
gd: = detect;
initgraph (gd, gm, '');
if graphresult<>grok then halt (1);
paravoz;
koleso;
readln; end.

Тема уроку: Графіка в Турбо Паскаль.

колір Код
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

Приклад 1:
Програма яка виводить на екран «Зоряне небо».
uses Graph;
var i, Gd, Gm: Integer;
BEGIN
Gd: = VGA; Gm: = VGAHi; InitGraph (Gd, Gm, '.. \ bgi');
If GraphResult = grOk
then begin
For i: = 0 to 1000 do
PutPixel (random (640), random (480), random (15) +1);
ReadLn
end
END.
 Circle (X, Y, R); - побудувати окружність з центром X, Y і радіусом R.
 Line (x1, y1, x2, y2); - побудувати відрізок прямої лінії від точки з координатами x1, y1 до точки з координатами x2, y2.
 Rectangle (x1, y1, x2, y2); - побудувати прямокутник з лівим верхнім кутом в точці з координатами x1, y1 і правим нижнім кутом в точці з координатами x2, y2 (сторони паралельні краях екрану)
Приклад 2:
Програма яка виводить різні незаповнені фігури (кола).
uses Graph;
const CenterX = 320; CenterY = 240;
var i, Gd, Gm: Integer;
BEGIN
Gd: = VGA; Gm: = VGAHi;
InitGraph (Gd, Gm, '.. \ bgi');
If GraphResult = grOk then
For i: = 0 to 23 do
Circle (CenterX, CenterY, i * 10);
END.

Ряд графічних процедур виконує побудову заповнених фігур - фігур із замкнутим контуром, автоматично заповнюються відразу після побудови:
 SetFillStyle (P, N); - процедура установки орнаменту Р = 0,1. 12 і кольору з номером
N для заповнюваних фігур.
o Р = 0 - суцільне заповнення кольором фону,
o Р = 1 - суцільне заповнення кольором з номером N,
o Р = 2..11 - стандартний набір орнаментів BGI,
o Р = 12 - орнамент і колір визначає користувач.
 Bar (x1, y1, x2, y2); - побудувати заповнений прямокутник із заданими
координатами лівого верхнього (x1, y1) і правого нижнього (x2, y2) кутів.
 Bar3d (x1, y1, x2, y2, d, t); - побудувати паралелепіпед із заповненою передній
гранню. Координати кутів (x1, y1), (x2, y2), глибина d. Мінлива t типу boolean задає висновок верхньої межі. При t = TopOn верхня грань показується, (true) t = TopOff (false) - немає.
 FillEllipse (X, Y, Rx, Ry); - побудувати заповнений еліпс з центром в точці (X, Y)
і радіусами (півосями) Rx - по горизонталі, Ry - по вертикалі.
 Sector (x, y, a1, a2, Rx, Ry); - побудувати заповнений сектор еліпса. a1 і a2 початковий і кінцевий кути (в) градусах, відлічувані проти годинникової стрілки щодо направлення осі X.
 PieSlice (x, y, a1, a2, R); - побудувати заповнений сектор кола з центром в точці
(X, y) і радіусом R.
 FillPoly (N, M); - заповнити довільну плоску фігуру з кордоном, описаної
масивом точок, N - число точок кордону.
3.Практіческоезаданіе.
Намалювати паровоз, який зображений на слайді (7).

Program paravozzz;
uses crt, graph;
procedure paravoz;
begin
setfillstyle (1,4);
bar3d (100,280,280,380,25, true);
setfillstyle (1,5);
bar3d (280,180,400,380,25, true);
setcolor (1);
setfillstyle (1, yellow);
bar3d (300,200,380,260,0, false);
setfillstyle (1,12);
bar3d (120,300,260,360,0, false);
rectangle (300,285,380,370);
end;

procedure koleso;
begin
x: = 160;
for i: = 1 to 3 do
begin
setfillstyle (1,1);
fillellipse (x, 380,40,40);
setfillstyle (1,3);
fillellipse (x, 380,30,30);
x: = x + 100;
end;
end;
var gd, gm, i, x, y: integer;
begin
gd: = detect;
initgraph (gd, gm, '');
if graphresultgrok then halt (1);
paravoz;
koleso;
readln; end.

Схожі статті