Подключение дополнительных библиотек Для работы в графическом режиме необходимо подключение модуля GraphABC. Первой инструкцией программы должна быть инструкция: uses GraphABC;
Графический режим Графический экран PasсalABC (по умолчанию) содержит 640 точек по горизонтали и 400 точек по вертикали. 640 точек 400 точек Начало отсчета – левый верхний угол экрана 640 точек х у
Управление экраном SetWindowWidth(w) SetWindowWidth(w) - устанавливает ширину графического окна; SetWindowHeight(h) SetWindowHeight(h) - устанавливает высоту графического окна; ClearWindow; ClearWindow; - очищает графическое окно белым цветом; ClearWindow(color); ClearWindow(color); - очищает графическое окно указанным цветом.
Используемые цвета – красный clRed – красный – темно-красный clMaroon – темно-красный – желтый clYellow – желтый – кремовый clCream – кремовый – коричневый clBrown – коричневый – оливковый clOlive – оливковый – зеленый clGreen – зеленый – ярко-зеленый clLime – ярко-зеленый – сине-зеленый clTeal – сине-зеленый – бирюзовый clAqua – бирюзовый – голубой clSkyBlue – голубой – синий clBlue – синий – темно-синий clNavy – темно-синий – сиреневый clFuchsia – сиреневый – фиолетовый clPurple – фиолетовый – черный clBlack – черный – темно-серый clGray – темно-серый – серый clMedGray – серый – светло-серый clLtGray – светло-серый – белый clWhite – белый
6 1. Точка 2. Линия 3. Прямоугольник 4. Окружность 5. Эллипс 6. Сектор 7. Дуга Графические примитивы
SetPixel(x,y,color) - Закрашивает один пиксел с координатами (x,y) цветом color. program tochka ; uses GraphABC ; begin SetPixel(300,200,clred); end. Точка
Line(x1,y1,x2,y2) - рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2). Program liniay; uses GraphABC; begin line(100,50,500,250); end. x1,y1 x2,y2 Линия
Прямоугольник Rectangle(x1,y1,x2,y2) - рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2). Program pryamougolnik; uses GraphABC; begin Rectangle(50,50,200,200); end. x1,y1 x2,y2
Circle(x,y,r) - рисует окружность с центром в точке (x,y) и радиусом r. Окружность Program circle; uses GraphABC; begin Circle(500,200,100); end. x1,y1 r x,y r
Эллипс Ellipse(x1,y1,x2,y2) - рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2). Program oval; uses GraphABC; begin Ellipse(50,50,200,350); Ellipse(250,150,550,300); end. x1,y1 x2,y2 x1,y1 x2,y2
Дуга окружности Arc(x,y,r,a1,a2) - Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 задаются в градусах). Program duga; uses GraphABC; Begin SetPenWidth(10); Arc(300,250,150,45,135); end. x,y r
SetBrushColor(color) - устанавливает цвет кисти. Заливка кистью распространяется на замкнутый контур, описание которого следует за процедурой установки цвета кисти. Program zalivka_kist; uses GraphABC; Begin SetBrushColor(clGreen); Rectangle(50,50,300,300); end. Заливка кистью
SetBrushStyle(номер от 0 до 7) - устанавливает стиль кисти, задаваемый номером или символической константой. Program p12_zalivka; uses GraphABC; Begin SetBrushColor(clAqua); SetBrushStyle(2); Rectangle(10,10,100,100); SetBrushColor(clRed); SetBrushStyle(3); Rectangle(110,10,200,100); SetBrushColor(clBlue); SetBrushStyle(4); Rectangle(210,10,300,100); SetBrushColor(clGreen); SetBrushStyle(5); Rectangle(10,110,100,210); SetBrushColor(clYellow); SetBrushStyle(6); Rectangle(110,110,200,210); SetBrushColor(clBlack); SetBrushStyle(7); Rectangle(210,110,300,210); end. По умолчанию задается стиль 0 – сплошная заливка цветом.
Заливка цветом FloodFill(x,y,color) - заливает область одного цвета цветом color, начиная с точки (x,y). Program pryamougolnik; uses GraphABC; begin Rectangle(50,50,200,200); FloodFill(100,100,clBlue); end. x1,y1 x2,y2
Заливка кистью SetBrushPicture(fname) - устанавливает в качестве образца для закраски кистью образец, хранящийся в файле fname, при этом текущий цвет кисти при закраске игнорируется. uses GraphABC; begin SetBrushPicture('brush4.bmp'); Ellipse(0,0,640,400); end.
Pie(x,y,r,a1,a2) - рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc). Сектор Program sector; uses GraphABC; begin Pie(300,200,100,0,90); FloodFill(300+10,200-10,clAqua); end.
Вывод текста в графическое окно TextOut(x,y,строка); - выводит строку текста в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст). Program text; uses GraphABC; begin TextOut(100,30,'Квадрат'); Rectangle(50,50,200,200); FloodFill(55,55,clBlue); end.
Действия со шрифтом SetFontName(name) - устанавливает наименование шрифта. SetFontColor(color) - устанавливает цвет шрифта. SetFontSize(sz) - устанавливает размер шрифта в пунктах. SetFontStyle(fs) - устанавливает стиль шрифта.
Название шрифта По умолчанию установлен шрифт, имеющий наименование MS Sans Serif. Наиболее распространенные шрифты – это Times, Arial и Courier New. Наименование шрифта можно набирать без учета регистра. Пример: SetFontName(Times);
Стиль шрифта Задается именованными константами: fsNormal – обычный; fsBold – жирный; fsItalic – наклонный; fsBoldItalic – жирный наклонный; fsUnderline – подчеркнутый; fsBoldUnderline – жирный подчеркнутый; fsItalicUnderline – наклонный подчеркнутый; fsBoldItalicUnderline – жирный наклонный подчеркнутый.
Program text; uses GraphABC; Begin SetFontName(Arial); SetFontSize(20); SetFontColor(clRed); TextOut(10,10,обычный'); SetFontStyle(fsItalic); SetFontColor(clBlue); TextOut(10,50,наклонный'); SetFontStyle(fsBold); SetFontColor(Random( )); TextOut(10,90,жирный'); SetFontStyle(fsUnderline); SetFontColor(Random( )); TextOut(10,130,подчеркнутый'); SetFontStyle(fsBoldItalicUnderline); SetFontColor(Random( )); TextOut(10,170,жирный, наклонный, подчеркнутый'); end. Например,
Используемые цвета Цвет можно задавать и с помощью функции RGB(r,g,b) где r, g и b – целые числа в диапазоне от 0 до 255. Функция возвращает целое значение, являющееся кодом цвета, который содержит красную, зеленую и синюю составляющие с интенсивностями r, g и b соответственно (0 соответствует минимальной интенсивности, 255 – максимальной). RGB(255,255,255) – соответствует белому цвету. RGB(0,0,0) – соответствует черному цвету.
Program color; uses GraphABC; begin Clearwindow(rgb(200,150,250)); TextOut(93,30,' Квадрат '); Rectangle(50,50,200,200); FloodFill(55,55,clRed); TextOut(275,30,' Эллипс'); Ellipse(250,50,350,200); FloodFill(250+50,50+50,clYellow); end. Например,
Вывод текста в графическое окно Program text2; uses Crt,GraphABC; begin clrscr; hidecursor; {скрывает текстовый курсор} gotoXY(12,3); write(Квадрат'); Rectangle(50,50,200,200); FloodFill(55,55,clYellow); end. Текст можно вывести с помощью операторов Gotoxy(x,y) и Write(текст), подключив дополнительно модуль Crt.
LoadPicture(fname) n:=LoadPicture(fname) – загружает рисунок из файла с именем fname в оперативную память и возвращает описатель рисунка в целую переменную n; если файл не найден, то возникает ошибка времени выполнения. Загружать можно рисунки в формате.bmp,.jpg или.gif. Загрузка готового рисунка
DrawPicture(n,x,y); Выводит рисунок с описателем n в позицию (x,y) графического окна. Вывод рисунка в графическое окно uses GraphABC; var pic: integer; begin pic:=LoadPicture('demo.bmp'); DrawPicture(pic,10,10); DestroyPicture(pic); end.
SavePicture(n, fname) - Сохраняет рисунок с описателем n в файл с именем fname. Рисунки можно сохранять в формате.bmp,.jpg или.gif. Сохранение созданного рисунка