Похожие презентации:
Программирование графики
1.
ПРОГРАММИРОВАНИЕГРАФИКИ
В
PASCAL ABC
2.
Графическийрежим
В графическом режиме экран представляет собой
совокупность точек, каждая из которых может быть окрашена в
один из 16 цветов. Каждая точка экрана имеет свои координаты
(х,у). Начало координат находится в верхнем левом углу
экрана. Координаты точек возрастают слева направо и сверху
вниз. Левая верхняя точка имеет координаты (0,0), а правая
нижняя имеет координаты (640,480).
0
100
200
300
400
500
600
640
x
100
200
300
400
480
y
3.
После запуска PascalABC, по умолчанию,запускается текстовый режим. Для работы с графикой
служит отдельное графическое окно. Чтобы его
открыть, необходимо подключить модуль GraphABC.
В этом модуле содержится обширный набор
процедур и функций, предназначенных для работы с
графическим экраном, а также некоторые встроенные
константы и переменные, которые могут быть
использованы в программах с графикой. С их
помощью можно создавать разнообразные графические
изображения и сопровождать их текстовыми
надписями.
4.
Шаблон графической программыProgram <имя программы>;
Uses graphABC;
Var <список переменных>:<тип>;
Begin
<здесь находится непосредственно
блок решения задачи>
End.
Uses graphABC - подключение
библиотеки графических процедур;
модуля
5.
ГРАФИЧЕСКИЕПРИМИТИВЫ
6.
1. ТОЧКАsetpixel(x,y,color); - закрашивает один пиксель (точку) с
координатами (x,y) цветом color.
ПРИМЕР.
setpixel(320,240,clred); - закрашивает точку с координатами
(320,240) красным цветом.
clBlack – черный
clAqua – бирюзовый
clPurple – фиолетовый
clOlive – оливковый
clWhite – белый
clFuchsia – сиреневый
clMaroon – темно-красный
clTeal – сине-зеленый
clRed – красный
clGray – темно-серый
clNavy – темно-синий
clLime – ярко-зеленый
clGreen – зеленый
clMoneyGreen – цвет зеленых денег
clBrown – коричневый
clLtGray – светло-серый
clMedGray – серый
clDkGray – темно-серый
clSilver – серебряный
clBlue – синий
clCream – кремовый
clSkyBlue – голубой
clYellow – желтый
7.
2. ЛИНИЯline(x1,y1,x2,y2); - вычерчивает линию от точки
c координатами
до точки
x1,y1
(x1,y1)
(x2,y2).
ПРИМЕР.
line(100,100,200,300); - вычерчивает линию от точки c
координатами (100,100) до точки
(200,300).
Замечание. В этом случае не установлен цвет рисования линии,
поэтому она вычерчивается черным цветом – это цвет по
умолчанию.
x2,y2
8.
Действия с пером(стиль и цвет рисования)Формат записи
Как работает
SetPenColor(color);
Устанавливает цвет рисования
задаваемый параметром color.
SetPenWidth(w);
Устанавливает ширину рисования линий (контура),
равную w пикселям.
SetPenStyle(ps);
Устанавливает стиль рисования линий (контура),
задаваемый параметром ps. Смотри столбик значение:
Замечание.
Для изменения
стиля линии
толщину линии
менять нельзя!
линий
(контура),
Значение
Описание
Вид линии
psSolid
Сплошная линия
_______
psClear
Отсутствие линии
psDash
Штриховая линия
-------
psDot
Пунктирная линия
………...
psDashDot
Штрихпунктирная
линия
-.-.-.-.-.-.-
psDashDotDot
Линия – штрих и два
пунктира
-..-..-..-..-
9.
Задача 1. Составить программу, вычерчивающуюлинию
зеленого цвета, толщиной 5 пикселей от точки с
координатами (100,100) до точки (400,400).
0
100
200
300
400
500
600
640
x
100
200
300
400
480
y
10.
Задача 2. Составить программу, вычерчивающую штриховуюлинию зеленого цвета от точки с координатами (100,100) до
точки (400,400).
0
100
200
300
400
500
600
640
x
100
200
300
400
480
y
Замечание.
Для изменения стиля линии толщину линии менять нельзя!
11.
3. ПРЯМОУГОЛЬНИКx1,y1
rectangle(x1,y1,x2,y2); -вычерчивает
прямоугольник c координатами диагонали (x1,y1) и (x2,y2).
x2,y2
Задача 3. Составить программу вычерчивающую прямоугольник
пунктирным контуром синего цвета с координатами диагонали
(300,250) и (600,400).
0
program pryamo;
200
300
400
500
600
640
x
uses graphABC;
100
begin
200
setpencolor(clblue);
300
setpenstyle(psdot);
100
400
rectangle(300,250,600,400);
480
end.
y
12.
Задача 4. Составить программу вычерчивающую прямоугольниксинего цвета, толщиной 2 пикселя с координатами диагонали
(300,250) и (600,400).
program pryamo;
uses graphABC;
begin
setpencolor(clblue);
0
200
300
400
500
600
640
x
100
200
300
setpenwidth(2);
400
rectangle(300,250,600,400);
end.
100
480
y
13.
Замечание. Можно вычертить прямоугольник с заливкой текущегоцвета и прямоугольник со скругленными краями.
4. Прямоугольник с заливкой текущего цвета
fillrect(x1,y1,x2,y2); - заливает прямоугольник, заданный
координатами противоположных вершин (x1,y1) и
(x2,y2), цветом текущей кисти.
Если в Задаче 4. в программе вместо процедуры рисования
прямоугольника rectangle(300,250,600,400) написать fillrect
(300,250,600,400), то результатом ее работы будет:
0
640
100
200
300
400
480
y
100
200
300
400
500
600
x
14.
5. Прямоугольник со скругленными краямиroundrect(х1,у1,х2,у2,w,h); - рисует прямоугольник со
скругленными краями с координатами диагонали (х1,у1) и (х2,у2).
Параметры w и h определяют соответственно ширину и
высоту эллипса, используемого для скругления краев.
h
w
Замечание.
Цвет, стиль и толщина рисования контура
определяется аналогично процедуре
rectangle (x1,y1,x2,y2).
15.
6. ОКРУЖНОСТЬcircle(x,y,R); - рисует окружность
х,у
радиуса R с центром в точке
с координатами (x,y).
R
Задача 5. Составить программу, вычерчивающую окружность
штрихпунктирным контуром сиреневого цвета с координатами
центра (320,240) и радиусом 60 пикселей.
0
program krug;
200
begin
300
setpencolor(clfuchsia);
400
setpenstyle(psdashdot);
480
y
circle(320,240,60);
end.
200
300
400
500
600
640
x
100
uses graphABC;
100
16.
7. Эллипсеllipse(x1,у1,х2,y2); - рисует эллипс, заданный своим описанным
прямоугольником с координатами
противоположных вершин (x1,y1) и (x2,y2).
x1,y1
x2,y2
Замечание.
Цвет, стиль и толщина рисования контура
определяется аналогично.
17.
8. Дуга и сектор окружностиаrc(x,y,r,a1,a2);
90
-
рисует
дугу
окружности
с
центром в точке
(x,y) и радиусом r,
заключенную между
двумя
лучами,
образующими углы
a1 и a2.
180
0
360
а1 – нач.
угол
а2 – кон.
угол
270
pie(x,y,r,a1,a2); -
рисует
сектор
окружности,
ограниченный
дугой
(параметры процедуры имеют
тот же смысл, что и в
процедуре Arc).
Сектор
Дуга