Цель урока: изучить основы работы с графикой, работу со справочной системой среды программирования PascalABC.NET, основные графические примитивы, работу с пером и кистью.
Рисование различных геометрических фигур осуществляется с помощью стандартных команд (процедур), которые хранятся в модуле GraphABC. Для подключения этого модуля в программе записывается команда uses GraphABC;
По умолчанию создается графическое окно размером 640 х 480 пикселей. Размеры графического окна можно изменять с помощью команды SetWindowSize(n,m). В скобках указаны размеры окна по горизонтали и вертикали.
Графические примитивы
SetPixel(x,y,c) | Закрашивает пиксель с координатами (x, y) цветом c. |
MoveTo(x,y) | Устанавливает текущую позицию рисования в точку (x, y). |
LineTo(x,y) | Рисует отрезок от текущей позиции до точки (x, y). Текущая позиция переносится в точку (x, y). |
Line(x1,y1,x2,y2) | Рисует отрезок от точки (x1, y1) до точки (x2, y2). |
Line(x1,y1,x2,y2,c) | Рисует отрезок от точки (x1, y1) до точки (x2, y2) цветом c. |
Circle(x,y,r) | Рисует заполненный круг с центром (x, y) и радиусом r. |
Ellipse(x1,y1,x2,y2) | Рисует заполненный эллипс, ограниченный прямоугольником, заданным координатами противоположных вершин (x1, y1) и (x2, y2). |
Rectangle(x1,y1,x2,y2) | Рисует заполненный прямоугольник, заданный координатами противоположных вершин (x1, y1) и (x2, y2). |
RoundRect(x1,y1,x2,y2,w,h) | Рисует заполненный прямоугольник со скругленными краями; (x1, y1) и (x2, y2) задают пару противоположных вершин, а w и h — ширину и высоту эллипса, используемого для скругления краев. |
Arc(x,y,r,a1,a2) | Рисует дугу окружности с центром в точке (x, y) и радиусом r, заключенную между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 — вещественные, задаются в градусах и отсчитываются против часовой стрелки). |
TextOut(x,y,z) | Выводит строку или число z в прямоугольник с координатами левого верхнего угла (x, y). |
FloodFill(x,y,c) | Заливает область одного цвета цветом c, начиная с точки (x, y). |
Работа с пером и кистью
Перо определяет цвет и ширину линий и контуров фигур
SetPenColor(color) | Устанавливает цвет пера. clBlack – черный clRed – красный clYellow – желтый clBlue – синий clGreen – зеленый clBrown – коричневый clWhite – белый |
SetPenWidth(w) | Устанавливает ширину пера в пикселях |
SetPenStyle(style) | Устанавливает стиль пера psSolid – сплошное перо(по умолчанию) psClear – прозрачное перо psDash – штриховое перо psDot – пунктирное перо psDashDot – штрихпунктирное перо |
Кисть определяет заливку замкнутых областей
SetBrushColor(color) | Устанавливает цвет кисти |
SetBrushStyle(style) | Устанавливает стиль кисти bsSolid – сплошная кисть (по умолчанию) bsClear – прозрачная кисть bsHatch – штриховая кисть bsGradient – градиентная кисть |
Работа с текстом
Для изменения параметров текста применяются следующие команды:
SetFontColor(color) | Устанавливает цвет шрифта |
SetFontSize(h) | Устанавливает размер шрифта в пунктах |
SetFontStyle(style) | Устанавливает стиль шрифта fsNormal – обычный fsBold – жирный fsItalic – наклонный fsUnderline – подчеркнутый fsBoldItalic – жирный наклонный fsBoldUnderline – жирный подчеркнутый |
Рассмотрим пример создания изображения домика:
uses GraphABC;
begin
//фасад дома
SetPenColor(RGB(255,0,0));
SetBrushColor(clBlue);
Rectangle(100, 200, 400, 450);
//окно
SetBrushColor(clYellow);
Rectangle(200, 250, 300, 350);
SetPenColor(clRed);
SetPenStyle(psDot);
SetPenWidth(2);
Line(250, 250, 250, 350);
Line(200, 300, 300, 300);
//крыша
SetPenStyle(psSolid);
SetPenWidth(1);
Line(100, 200, 250, 0);
Line(250, 0, 400, 200);
SetBrushStyle(bsHatch);
SetBrushColor(clLightGreen);
SetBrushHatch(bhCross);
Circle(250, 125, 30);
FloodFill(250,70,clPlum);
end.
Результат работы программы:
Задания по теме урока
Задание 1. Напишите программу для создания изображения. Раскрасьте полученное изображение по своему усмотрению.
Задание 2. Напишите программу для создания изображения. Раскрасьте полученное изображение по своему усмотрению.
Дополнительное задание. Напишите программу для создания изображения. Раскрасьте полученное изображение по своему усмотрению.
Домашнее задание
§ 14 учебного пособия, ответить на вопросы
Форма отправки решений
Форма видна только зарегистрированным пользователям.