понедельник, 20 апреля 2015 г.

Графический модуль PascalABC

Модуль GraphABC содержит константы, типы, процедуры и функции для рисования в графическом окне

Графические примитивы

SetPixel(x,y,color) – закрашивает один пиксел с координатами (x,y) цветом color;
GetPixel(x,y) – возвращает текущее значение цвета для пиксела с координатами (x,y);
Line(x1,y1,x2,y2) – рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2);
Rectangle(x1,y1,x2,y2) – рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2);
Ellipse(x1,y1,x2,y2) – рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2);
RoundRect(x1,y1,x2,y2,w,h) – рисует прямоугольник со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев;
Circle(x,y,r) – рисует окружность с центром в точке (x,y) и радиусом r;
Arc(x,y,r,a1,a2) – рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки);
Pie(x,y,r,a1,a2) – рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc);
Chord(x,y,r,a1,a2) – рисует фигуру, ограниченную дугой окружности и отрезком, соединяющим ее концы (параметры процедуры имеют тот же смысл, что и в процедуре Arc);
MoveTo(x,y) – передвигает невидимое перо к точке с координатами (x,y); эта функция работает в паре с функцией LineTo(x,y);
LineTo(x,y) – рисует отрезок от текущего положения пера до точки (x,y); координаты пера при этом также становятся равными (x,y);
TextOut(x,y,s) – выводит строку s в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст из строки s);
FloodFill(x,y,c) – заливает область одного цвета цветом c, начиная с точки (x,y);
FillRect(x1,y1,x2,y2) – заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2), цветом текущей кисти;

Polygon(a,n) – строит ломаную по n точкам, координаты которых заданы в массиве a элементов типа TPoint ;
Polyline(a,n) – строит замкнутую ломаную по n точкам, координаты которых заданы в массиве a элементов типа TPoint .

Функции для работы с цветом

RGB(r,g,b) – возвращает целое значение, являющееся кодом цвета, который содержит красную, зеленую и синюю составляющие с интенсивностями r, g и b соответственно (r, g и b – целые в диапазоне от 0 до 255, причем, 0 соответствует минимальной интенсивности, 255 – максимальной). GetRed(color)– выделяет красную составляющую из цвета color (целое в диапазоне от 0 до 255);
GetGreen(color)– выделяет зеленую составляющую из цвета color (целое в диапазоне от 0 до 255);
GetBlue(color) – выделяет синюю составляющую из цвета color (целое в диапазоне от 0 до 255).

Стандартные цвета

clBlack – черный
clPurple – фиолетовый
clWhite – белый
clMaroon – темно-красный
clRed
– красный
clNavy – темно-синий
clGreen – зеленый
clBrown – коричневый
clBlue
– синий
clSkyBlue – голубой
clYellow – желтый
   clCream – кремовый
clAqua – бирюзовый
clOlive – оливковый
clFuchsia – сиреневый
clTeal – сине-зеленый
clGray – серый
clLime – ярко-зеленый
clLightGray – светло-серый
clMoneyGreen – цвет зеленых денег
clDarkGray – темно-серый

Действия с пером

PenX, PenY – возвращают текущие координаты пера;
SetPenColor(color) – устанавливает цвет пера, задаваемый параметром color;
PenColor – возвращает текущий цвет пера;
SetPenWidth(w) – устанавливает ширину пера, равную w пикселам;
PenWidth – возвращает текущую ширину пера;
SetPenStyle(ps) – устанавливает стиль пера, задаваемый параметром ps;
PenStyle – возвращает текущий стиль пера;
Стили пера задаются следующими именованными константами:
psSolid Сплошная линия
psClear  Нет линии
psDash Пунктирная линия
psDot Мелкий пунктир
psDashDot  "Точка - тире"
psDashDotDot "Две точки - тире"
SetPenMode(m) – устанавливает режим пера, задаваемый параметром m;
PenMode – возвращает текущий режим пера. Режим пера определяет, как цвет пера взаимодействует с цветом поверхности.
Режимы пера задаются следующими именованными константами:
pmCopy – обычный режим; при рисовании цвет поверхности заменяется цветом пера;
pmNot – режим инвертирования; при рисовании цвет поверхности инвертируется (становится негативным), а цвет пера при этом игнорируется.


Действия с кистью

SetBrushColor(color) – устанавливает цвет кисти, задаваемый параметром color; BrushColor – возвращает текущий цвет кисти;
SetBrushPicture(fname) – устанавливает в качестве образца для закраски кистью образец, хранящийся в файле fname, при этом текущий цвет кисти при закраске игнорируется;
ClearBrushPicture – очищает рисунок-образец, выбранный для кисти;
SetBrushStyle(bs) – устанавливает стиль кисти, задаваемый параметром bs;
BrushStyle – возвращает текущий стиль кисти.
Стили кисти задаются следующими именованными константами:
bsSolid Сплошая заливка   bsCross В клеточку
bsClear Нет заливки   bsDiagCross  Диагональная клеточка
bsHorizontal Горихонтальная штриховка   bsBDiagonal Диагональная штриховка
bsVertical Вертикальная штриховка   bsFDiagonal Диагональная штриховка

Действия со шрифтом

SetFontColor(color) – устанавливает цвет шрифта;
FontColor – возвращает  текущий цвет шрифта;
SetFontSize(sz) – устанавливает  размер шрифта в пунктах;
FontSize – возвращает  текущий размер шрифта в пунктах;
SetFontName(s) – устанавливает  наименование шрифта;
FontName – возвращает  текущее наименование шрифта;
По умолчанию установлен шрифт, имеющий наименование MS Sans Serif.
Наиболее распространенные шрифты – это Times New Roman, Arial и Courier New.
Наименование шрифта можно набирать без учета регистра.
SetFontStyle(fs) – устанавливает  стиль шрифта;
FontStyle – возвращает  текущий стиль шрифта;
Стили шрифта задаются следующими именованными константами:
fsNormal – обычный;
fsBold – жирный;
fsItalic – наклонный;
fsBoldItalic – жирный наклонный;
fsUnderline – подчеркнутый;
fsBoldUnderline – жирный подчеркнутый;
fsItalicUnderline – наклонный подчеркнутый;
fsBoldItalicUnderline – жирный наклонный подчеркнутый.
TextWidth(s) – возвращает ширину сроки s в пикселях при текущих настройках шрифта;
TextHeight(s) – возвращает высоту сроки s в пикселях при текущих настройках шрифта

Действия с графическим окном

ClearWindow – очищает графическое окно кистью белого цвета;
WindowWidth – возвращает ширину графического окна;
WindowHeight – возвращает высоту графического окна;
WindowLeft – возвращает отступ графического окна от левого края экрана;
WindowTop – возвращает отступ графического окна от верхнего края экрана;
WindowCaption – возвращает заголовок графического окна;
SetWindowWidth(w) – устанавливает ширину графического окна;
SetWindowHeight(h) – устанавливает высоту графического окна;
SetWindowLeft(l) – устанавливает отступ графического окна от левого края экрана;
SetWindowTop(t) – устанавливает отступ графического окна от верхнего края экрана;
SetWindowSize(w,h) – устанавливает ширину и высоту графического окна;
SetWindowPos(l,t) – устанавливает отступ графического окна от левого и верхнего края экрана;
SetWindowCaption(s) – устанавливает заголовок графического окна;
SaveWindow(fname) – сохраняет содержимое графического окна в файл с именем fname;
LoadWindow(fname) – выводит в графическое окно рисунок из файла с именем fname;
CloseWindow – закрывает графическое окно.

Все размеры устанавливаются и возвращаются в пикселах.
Функция LoadWindow может загружать лишь файлы формата bmp.
Функция SaveWindow сохраняет рисунок в файле формата bmp с 256 цветами.

Действия с рисунками

Каждый рисунок имеет описатель (дескриптор), представляющий собой целое число. Это число возвращается функцией загрузки рисунка LoadPicture, а затем передается в качестве первого параметра во все остальные процедуры и функции работы с рисунками.
n:=LoadPicture(fname) – загружает рисунок из файла с именем fname в оперативную память и возвращает описатель рисунка в целую переменную n; если файл не найден, то возникает ошибка времени выполнения;
DrawPicture(n,x,y) – выводит рисунок с описателем n в позицию (x,y) графического окна;
DestroyPicture(n) – удаляет рисунок с описателем n из оперативной памяти, описатель рисунка при этом становится недействительным;
PictureWidth(n) – возвращает ширину рисунка с описателем n;
PictureHeight(n) – возвращает высоту рисунка с описателем n;

Комментариев нет:

Отправить комментарий