Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы к экзамену 509и Программирование -янв.....doc
Скачиваний:
2
Добавлен:
15.04.2019
Размер:
133.63 Кб
Скачать

Цвета в операторах задаются с помощью своих кодов:

0 – черный;        4 – красный;           8 – темно-серый;      12 – ярко-красный; 1 – синий;          5 – пурпурный;           9 – ярко-синий;    13 – ярко-пурпурный; 2 –зеленый;       6 – коричневый;     10 – ярко-зеленый;    14 – желтый; 3 – бирюзовый;      7 – светло-серый;    11 – ярко-бирюзовый;    15 – белый.

Цифровое кодирование цвета соответствует последовательности IRGB для 0-3 битов. Бит 3 – бит интенсивности I, бит 2 – бит красного R, бит 1 – бит зеленого G, бит 0 – бит синего B. Например, 11=8+2+1, т.е. биты 3,1,0 – интенсивный сине-зеленый (бирюзовый). Основные графические операторы для построения изображений: PutPixel (X, Y, цвет) - вывод точки на экран, где X, Y  - координаты точки ; Line ( X1, Y1, X2, Y2 ) - проводит линию из точки с координатами (X1, Y1 ) в точку с координатами ( X2, Y2 ); Rectangle (X1, Y1, X2, Y2 ) - прямоугольник со сторонами, параллельными осям координат;  (X1, Y1) и (X2, Y2)  - координаты, определяющие одну из диагоналей прямоугольника ; Bar ( X1, Y1, X2, Y2 ) - закрашенный прямоугольник (без окантовки); Circle ( X, Y, радиус ) – на экран выводится окружность с центром в точке  ( X, Y )(тип integer) ; Arc (X, Y, начальный угол, конечный угол, радиус) - на  экран  выводится  дуга окружности с центром в точке (X, Y ); углы задаются в градусах; дуга рисуется ПРОТИВ часовой стрелки; Ellipse ( X, Y, начальный угол, конечный угол,  горизонтальный радиус, вертикальный радиус) -  на экран выводится эллиптическая дуга с центром в точке с координатами ( X, Y ) (тип integer); SetFillStyle (заполнение, цвет) – определение вида и цвета заполнения области; FloodFill (x, y, цвет границы) – заливка замкнутой области.

В графическом режиме изображение на экране строится из пикселов. Пиксел имеет координаты (X и Y) и цвет (по умолчанию белый). Координаты отсчитываются с левого верхнего угла, т.е. пиксел, расположенный в верхнем левом углу имеет координаты (0,0). Для того чтобы включить графический режим в Паскале необходимо подключить его в разделе объявления дополнительных модулей (USES). В первом уроке по графическому режиму в Паскаль мы научимся запускать графический режим и выводить на экран точку. Program graphika1;uses crt, graph; var gd, gm:integer; color: byte; begin gd:=detect; initgraph (gd,gm, ‘’); if graphresult<>grok then halt(1); randomize; repeat color:=random(15); putpixel (random (100), random(100), color); delay (10) until keypressed; closegraph end.

  1. Основные графические примитивы.

1.procedure SetPixel(x,y,color: integer); Закрашивает один пиксел с координатами (x,y) цветом color. 2.function GetPixel(x,y): integer; Возвращает текущее значение цвета для пиксела с координатами (x,y). 3.procedure MoveTo(x,y: integer); Передвигает невидимое перо к точке с координатами (x,y); эта функция работает в паре с функцией LineTo(x,y). 4.procedure LineTo(x,y: integer); Рисует отрезок от текущего положения пера до точки (x,y); координаты пера при этом также становятся равными (x,y). 5.procedure Line(x1,y1,x2,y2: integer); Рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2). 6.procedure Circle(x,y,r: integer); Рисует окружность с центром в точке (x,y) и радиусом r. 7.procedure Ellipse(x1,y1,x2,y2: integer); Рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2). 8.procedure Rectangle(x1,y1,x2,y2: integer); Рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2). 9.procedure RoundRect(x1,y1,x2,y2,w,h: integer); Рисует прямоугольник со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев. 10.procedure Arc(x,y,r,a1,a2: integer); Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки). 11.procedure Pie(x,y,r,a1,a2: integer); Рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc). 12.procedure Chord(x,y,r,a1,a2: integer); Рисует фигуру, ограниченную дугой окружности и отрезком, соединяющим ее концы (параметры процедуры имеют тот же смысл, что и в процедуре Arc). 13.procedure TextOut(x,y: integer; s: string); Выводит строку s в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст из строки s). 14.procedure FloodFill(x,y,color: integer); Заливает область одного цвета цветом color, начиная с точки (x,y). 15.procedure FillRect(x1,y1,x2,y2: integer); Заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2), цветом текущей кисти. 16.procedure Polygon(var a; n: integer); Строит ломаную по n точкам, координаты которых заданы в массиве a элементов типа Point. 17.procedure Polyline(var a; n: integer); Строит замкнутую ломаную по n точкам, координаты которых заданы в массиве a элементов типа Point.