SetWindowHeight(h) – процедура, устанавливающая высоту графического окна;
SetWindowLeft(l) – процедура, устанавливающая отступ графического окна от левого края экрана (то есть экранную координату x);
SetWindowTop(t) – процедура, устанавливающая отступ графического окна от верхнего края экрана (то есть экранную координату y);
SetWindowSize(w,h) – процедура, устанавливающая ширину и высоту графического окна;
SetWindowPos(l,t) – процедура, устанавливающая обе экранные координаты графического окна (то есть координаты его левого верхнего угла);
SetWindowCaption(s) – процедуру, устанавливающая новый заголовок окна;
SaveWindow(fname) – процедура, сохраняющая содержимое графического окна в файле с именем fname;
LoadWindow(fname) – процедура, загружающая в окно изображение из файла с именем fname; при этом размер окна подстраивается под размер загруженного изображения.
CenterWindow – процедура, центрирующая окно по центру экрана
Все размеры устанавливаются и возвращаются в пикселах.
Примеры графических программ
Пример 1
Приведенная ниже программа рисует отрезок, желтый прямоугольник, голубой круг, и красный эллипс
program grafika;
uses graphABC; { подключение модуля graphABC }
begin
setWindowSize(600,240); // размеры окна
line(80,40,500,40); // отрезок
setPenWidth(5); // толщина пера
setPenColor(clBrown); setBrushColor(clYellow); // цвет пера и кисти
rectangle(40,80,200,160); // прямоугольник
setPenColor(clRed); setBrushColor(clAqua);
circle(300,120,40); // круг
setPenColor(clBlue); setBrushColor(clRed);
ellipse(400,80,540,160); // эллипс
setFontSize(15); setFontStyle(fsBold); // размер и начертание шрифта
setFontColor(clBrown); setBrushColor(clWhite);
textOut(120,180,'Графические примитивы'); // вывод текста
end.
Пример 2
Эта программа рисует звезду с произвольным числом вершин
uses Graph;
begin
var n := Random(15,21); // количество точек
var n1 := Random(5,10); // через сколько точек соединять
var a := -Pi/2;
var Radius := Window.Height/1.2;
Window.SetSize(800,600);
MoveTo(Window.Width div 2+Radius*cos(a),Window.Height div 2+Radius*sin(a));
for var i:=1 to n do
begin
a += n1*2*Pi/n;
LineTo(Window.Width div 2+Radius*cos(a),Window.Height div 2+Radius*sin(a));