SetPixel(x,y,color: integer); | Закрашивает один пиксел с координатами (x,y) цветом color. |
GetPixel(x,y): integer; | Возвращает текущее значение цвета для пиксела с координатами (x,y). |
MoveTo(x,y: integer); | Передвигает невидимое перо к точке с координатами (x,y); эта функция работает в паре с функцией LineTo(x,y). |
LineTo(x,y: integer); | Рисует отрезок от текущего положения пера до точки (x,y); координаты пера при этом также становятся равными (x,y). |
Line(x1,y1,x2,y2: integer); | Рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2). |
Circle(x,y,r: integer); | Рисует окружность с центром в точке (x,y) и радиусом r. |
Ellipse(x1,y1,x2,y2: integer); | Рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2). |
Rectangle(x1,y1,x2,y2: integer); | Рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2). |
RoundRect(x1,y1,x2,y2,w,h: integer); | Рисует прямоугольник со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев. |
Arc(x,y,r,a1,a2: integer); | Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки). |
Pie(x,y,r,a1,a2: integer); | Рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc). |
Chord(x,y,r,a1,a2: integer); | Рисует фигуру, ограниченную дугой окружности и отрезком, соединяющим ее концы (параметры процедуры имеют тот же смысл, что и в процедуре Arc). |
TextOut(x,y: integer; s: string); | Выводит строку s в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст из строки s). |
FloodFill(x,y,color: integer); | Заливает область одного цвета цветом color, начиная с точки (x,y). |
FillRect(x1,y1,x2,y2: integer); | Заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2), цветом текущей кисти. |
Polygon(var a; n: integer); | Строит ломаную по n точкам, координаты которых заданы в массиве a элементов типа Point. |
Polyline(var a; n: integer); | Строит замкнутую ломаную по n точкам, координаты которых заданы в массиве a элементов типа Point. |
Модуль GraphABC содержит константы и функции для работы с цветами. Тип ColorType, описывающий цвет, определен следующим образом:
Для работы с цветами используются следующие функции.
RGB(r,g,b: integer): ColorType; | Возвращает целое значение, являющееся кодом цвета, который содержит красную, зеленую и синюю составляющие с интенсивностями r, g и b соответственно (r, g и b – целые в диапазоне от 0 до 255, причем, 0 соответствует минимальной интенсивности, 255 – максимальной). |
GetRed(color: ColorType): integer; | Выделяет красную составляющую из цвета color (целое в диапазоне от 0 до 255); |
GetGreen(color: ColorType): integer; | Выделяет зеленую составляющую из цвета color (целое в диапазоне от 0 до 255); |
GetBlue(color: ColorType): integer; | Выделяет синюю составляющую из цвета color (целое в диапазоне от 0 до 255). |
PenX: integer; PenY: integer; | Возвращают текущие координаты пера. |
SetPenColor(color: integer); | Устанавливает цвет пера, задаваемый параметром color. |
PenColor: integer; | Возвращает текущий цвет пера |
SetPenWidth(w: integer); | Устанавливает ширину пера, равную w пикселам. |
PenWidth: integer; | Возвращает текущую ширину пера |
SetPenStyle(ps: integer); | Устанавливает стиль пера, задаваемый параметром ps. |
PenStyle: integer; | Возвращает текущий стиль пера. |
SetPenMode(m: integer); | Устанавливает режим пера, задаваемый параметром m. |
PenMode: integer; | Возвращает текущий режим пера. Режим пера определяет, как цвет пера взаимодействует с цветом поверхности. |
SetFontColor(color: integer); | Устанавливает цвет шрифта. |
FontColor: integer; | Возвращает текущий цвет шрифта. |
SetFontSize(sz: integer); | Устанавливает размер шрифта в пунктах. |
FontSize: integer; | Возвращает текущий размер шрифта в пунктах. |
SetFontName(name: string); | Устанавливает наименование шрифта. |
FontName: string; | Возвращает текущее наименование шрифта. |
По умолчанию установлен шрифт, имеющий наименование MS Sans Serif. Наиболее распространенные шрифты – это Times, Arial и Courier New. Наименование шрифта можно набирать без учета регистра. |
SetFontStyle(fs: integer); | Устанавливает стиль шрифта. |
FontStyle: integer; | Возвращает текущий стиль шрифта. |
TextWidth(s: string): integer; | Возвращает ширину строки s в пикселях при текущих настройках шрифта. |
TextHeight(s: string): integer; | Возвращает высоту строки s в пикселях при текущих настройках шрифта. |
6. Действия с рисунками
Работа с рисунками в модуле GraphABC производится либо с помощью описателей (целых чисел, однозначно определяющих рисунок), либо с помощью объектов класса Picture. Работа с помощью описателей позволяет манипулировать рисунками, используя обычные процедуры и функции и не используя классы.
Каждый рисунок, хранящийся во время работы программы в оперативной памяти, имеет описатель (дескриптор), представляющий собой целое число. Это число возвращается функцией загрузки рисунка из файла LoadPicture, а также функцией создания рисунка CreatePicture, после чего передается в качестве первого параметра во все остальные процедуры и функции работы с рисунками.
LoadPicture(fname: string): integer; | n:=LoadPicture(fname) – загружает рисунок из файла с именем fname в оперативную память и возвращает описатель рисунка в целую переменную n; если файл не найден, то возникает ошибка времени выполнения. Загружать можно рисунки в формате .bmp, .jpg или .gif. |
DrawPicture(n,x,y: integer); | Выводит рисунок с описателем n в позицию (x,y) графического окна. |
DrawPicture(n,x,y,w,h: integer); | Выводит рисунок с описателем n в позицию (x,y) графического окна, масштабируя его размеры к ширине w и высоте h. Если w, то рисунок зеркально отражается относительно вертикальной прямой, проходящей через x, если же h, то рисунок зеркально отражается относительно горизонтальной прямой, проходящей через y. |
DrawPicture(n: integer; x,y: integer; r: Rect); | Выводит часть рисунка с описателем n, заключенную в прямоугольнике r, в позицию (x,y) графического окна. |
DrawPicture(n: integer; x,y,w,h: integer; r: Rect); | Выводит часть рисунка с описателем n, заключенную в прямоугольнике r, в позицию (x,y) графического окна, масштабируя его размеры к ширине w и высоте h. Если w, то рисунок зеркально отражается относительно вертикальной прямой, проходящей через x, если же h, то рисунок зеркально отражается относительно горизонтальной прямой, проходящей через y. |
CopyRect(n: integer; dest: Rect; n1: integer; src: Rect); | Копирует часть рисунка с описателем n1, заключенную в прямоугольнике src, в прямоугольник dest рисунка с описателем n. |
DestroyPicture(n: integer); | Удаляет рисунок с описателем n из оперативной памяти, описатель рисунка при этом становится недействительным. |
SetPictureSize(n,w,h: integer); | Устанавливает размер рисунка с описателем n равным w на h пикселей. |
PictureWidth(n: integer): integer; | Возвращает ширину рисунка с описателем n. |
PictureHeight(n: integer): integer; | Возвращает высоту рисунка с описателем n. |
PictureTransparent(n: integer): boolean; | Возвращает режим прозрачности рисунка с описателем n. |
SetPictureTransparent(n: integer; b: boolean); | Устанавливает (b=True) или отключает (b=False) режим прозрачности при рисовании рисунка с описателем n. Если b=True, то при его рисовании фон не отображается. Фоновым считается цвет левого нижнего пиксела рисунка. |
Учитель Смелова В.Н.