Учебная система программирования вводный курс
УРОК 5. Графика и графические операторы в языке Паскаль Паскаль имеет развитую систему работу с графикой, которая позволяет не только рисовать графические примитивы, но и обрабатывать рисунки в формате *.bmp. Вызов графического модуля осуществляется командой Uses GraphABC после которого можно использовать различные графические операторы. При выполнении программы откроется дополнительное окно, где будет отображен результат обработки программного кода: Начало системы координат графического окна - левый верхний угол
УРОК 5. Графика и графические операторы в языке Паскаль Пример кода программы, рисующей линию, прямоугольник и круг: program grafika; uses graphABC; - вызов графического модуля begin setpencolor (clgreen); - установка цвета пера (зеленый) line (200,200,100,100); - рисуем линию rectangle ( 20,20,100,100); - рисуем прямоугольник circle (300,300,100); - рисуем круг end. Результат выполнения программы
УРОК 5. Графика и графические операторы в языке Паскаль – справочник по графическим примитивам. procedure SetPixel(x,y,color: integer); Закрашивает один пиксел с координатами (x,y) цветом color. function GetPixel(x,y): integer; Возвращает текущее значение цвета для пиксела с координатами (x,y). procedure MoveTo(x,y: integer); Передвигает невидимое перо к точке с координатами (x,y); эта функция работает в паре с функцией LineTo(x,y). procedure LineTo(x,y: integer); Рисует отрезок от текущего положения пера до точки (x,y); координаты пера при этом также становятся равными (x,y). procedure Line(x1,y1,x2,y2: integer); Рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2). procedure Circle(x,y,r: integer); Рисует окружность с центром в точке (x,y) и радиусом r. procedure Ellipse(x1,y1,x2,y2: integer); Рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2). procedure Rectangle(x1,y1,x2,y2: integer); Рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2). procedure RoundRect(x1,y1,x2,y2,w,h: integer); Рисует прямоугольник со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев. procedure Arc(x,y,r,a1,a2: integer); Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки). procedure Pie(x,y,r,a1,a2: integer); Рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc).
УРОК 5. Графика и графические операторы в языке Паскаль – справочник по графическим примитивам. procedure Chord(x,y,r,a1,a2: integer); Рисует фигуру, ограниченную дугой окружности и отрезком, соединяющим ее концы (параметры процедуры имеют тот же смысл, что и в процедуре Arc). procedure TextOut(x,y: integer; s: string); Выводит строку s в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст из строки s). procedure FloodFill(x,y,color: integer); Заливает область одного цвета цветом color, начиная с точки (x,y). procedure FillRect(x1,y1,x2,y2: integer); Заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2), цветом текущей кисти. procedure Polygon(var a; n: integer); Строит ломаную по n точкам, координаты которых заданы в массиве a элементов типа Point. procedure Polyline(var a; n: integer); Строит замкнутую ломаную по n точкам, координаты которых заданы в массиве a элементов типа Point.
УРОК 5. Графика и графические операторы в языке Паскаль – справочник по обозначению цвета. Стандартные цвета задаются символическими константами: clBlack – черный clPurple – фиолетовый clWhite – белый clMaroon – темно-красный clRed – красный clNavy – темно-синий clGreen – зеленый clBrown – коричневый clBlue – синий clSkyBlue – голубой clYellow – желтый clCream – кремовый clAqua – бирюзовый clOlive – оливковый clFuchsia – сиреневый clTeal – сине-зеленый clGray – темно-серый clLime – ярко-зеленый clMoneyGreen – цвет зеленых денег clLtGray – светло-серый clDkGray – темно-серый clMedGray – серый clSilver – серебряный.
УРОК 5. Задачи. Задача 1. Нарисуйте прямоугольник синего цвета следующих размеров: ширина – 300 пикселов, высота – 100 пикселов, расположение по центру. Задача 2. Нарисуйте сетку, имеющую следующие размеры: пять ячеек по вертикали и столько же по горизонтали. Размер ячейки 100 х 100 пикселей. Указание: используйте цикл. Задача 3. Нарисуйте шахматную доску 8 х 8, размер ячейки 100 х 100 пикселей. Указание: используйте цикл.