Действия с графическим окном
procedure ClearWindow;
Очищает графическое окно белым цветом.
procedure ClearWindow(c: ColorType);
Очищает графическое окно цветом c.
function WindowWidth: integer;
Возвращает ширину графического окна.
function WindowHeight: integer;
Возвращает высоту графического окна.
function WindowLeft:
integer;
Возвращает отступ графического окна от левого края экрана.
function WindowTop:
integer;
Возвращает отступ графического окна от верхнего края экрана.
function WindowCaption:
string;
Возвращает заголовок графического окна.
procedure
SetWindowWidth(w: integer);
Устанавливает ширину графического окна.
procedure
SetWindowHeight(h: integer);
Устанавливает высоту графического окна.
procedure
SetWindowLeft(l: integer);
Устанавливает отступ графического окна от левого края экрана.
procedure
SetWindowTop(t: integer);
Устанавливает отступ графического окна от верхнего края экрана.
procedure SetWindowSize(w,h: integer);
Устанавливает ширину и высоту графического окна.
procedure SetWindowPos(l,t: integer);
Устанавливает отступ графического окна от левого и верхнего края экрана.
procedure
SetWindowCaption(s: string);
Устанавливает заголовок графического окна.
procedure
SetWindowTitle(s: string);
Устанавливает заголовок графического окна. Синоним SetWindowCaption.
procedure SaveWindow(fname: string);
Сохраняет содержимое графического окна в файл с именем fname.
procedure
LoadWindow(fname: string);
Выводит в графическое окно рисунок из файла с именем fname. Файл ищется
вначале в текущем каталоге, а затем в каталоге PascalABC\Media\Images.
procedure
FillWindow(fname: string);
Заполняет графическое окно мозаикой из рисунка, содержащегося в файле с
именем fname.
procedure FillWindow(n:
integer);
Заполняет графическое окно мозаикой из рисунка с описателем n.
procedure CloseWindow;
Закрывает графическое окно.
function ScreenWidth: integer;
Возвращает ширину экрана.
function ScreenHeight: integer;
Возвращает высоту экрана.
procedure CenterWindow;
Центрирует графическое окно по центру экрана.
procedure
MaximizeWindow;
Максимизирует графическое окно на экране.
procedure
NormalizeWindow;
Восстанавливает положение графического окна на экране.
Все размеры устанавливаются и возвращаются в пикселах.
Действия с рисунками
Работа с рисунками в модуле GraphABC производится либо с помощью описателей
(целых чисел, однозначно определяющих рисунок), либо с помощью объектов класса
Picture. Работа с помощью описателей позволяет манипулировать рисунками,
используя обычные поцедуры и функции и не используя классы.
Каждый рисунок, хранящийся во время работы программы в оперативной памяти,
имеет описатель (дескриптор), представляющий собой целое число. Это число
возвращается функцией загрузки рисунка из файла LoadPicture, а также функцией
создания рисунка CreatePicture, после чего передается в качестве первого
параметра во все остальные процедуры и функции работы с рисунками.
function
LoadPicture(fname: string): integer;
n:=LoadPicture(fname) – загружает рисунок из файла с именем fname в
оперативную память и возвращает описатель рисунка в целую переменную n; если
файл не найден, то возникает ошибка времени выполнения. Загружать можно рисунки
в формате .bmp, .jpg или .gif.
procedure SavePicture(n:
integer; fname: string);
Сохраняет рисунок с описателем n в файл с именем fname. Рисунки можно
сохранять в формате .bmp, .jpg или .gif.
procedure DrawPicture(n,x,y: integer);
Выводит рисунок с описателем n в позицию (x,y) графического окна.
procedure DrawPicture(n,x,y,w,h:
integer);
Выводит рисунок с описателем n в позицию (x,y) графического окна,
масштабируя его размеры к ширине w и высоте h. Если w<0, то рисунок
зеркально отражается относительно вертикальной прямой, проходящей через x, если
же h<0, то рисунок зеркально отражается относительно горизонтальной прямой,
проходящей через y.
procedure DrawPicture(n: integer; x,y:
integer; r: Rect);
Выводит часть рисунка с описателем n, заключенную в прямоугольнике r, в
позицию (x,y) графического окна.
procedure DrawPicture(n: integer;
x,y,w,h: integer; r: Rect);
Выводит часть рисунка с описателем n, заключенную в прямоугольнике r, в
позицию (x,y) графического окна, масштабируя его размеры к ширине w и высоте h.
Если w<0, то рисунок зеркально отражается относительно вертикальной прямой,
проходящей через x, если же h<0, то рисунок зеркально отражается
относительно горизонтальной прямой, проходящей через y.
procedure CopyRect(n: integer; dest:
Rect; n1: integer; src: Rect);
Копирует часть рисунка с описателем n1, заключенную в прямоугольнике src, в
прямоугольник dest рисунка с описателем n.
procedure
DestroyPicture(n: integer);
Удаляет рисунок с описателем n из оперативной памяти, описатель рисунка при
этом становится недействительным.
procedure SetPictureSize(n,w,h:
integer);
Устанавливает размер рисунка с описателем n равным w на h пикселей.
function
PictureWidth(n: integer): integer;
Возвращает ширину рисунка с описателем n.
function
PictureHeight(n: integer): integer;
Возвращает высоту рисунка с описателем n.
function PictureTransparent(n:
integer): boolean;
Возвращает режим прозрачности рисунка с описателем n.
function CreatePicture(w,h: integer):
integer;
Создает рисунок ширины w и высоты h и возвращает его описатель.
function
CreatePictureFromRect(r: Rect): integer;
Создает рисунок из прямоугольника r графического окна и возвращает его
описатель.
function
CreatePictureFromScreenBufferRect(r: Rect): integer;
Создает рисунок из прямоугольника r внеэкранного буфера графического окна и
возвращает его описатель.
procedure SetPictureTransparent(n:
integer; b: boolean);
Устанавливает (b=True) или отключает (b=False) режим прозрачности при
рисовании рисунка с описателем n. Если b=True, то при его рисовании фон не
отображается. Фоновым считается цвет левого нижнего пиксела рисунка.
function
ImageIntersect(n1,n2: integer): boolean;
Определяет, пересекаются ли изображения на рисунках с описателями n1 и n2.
Рисунки должны иметь одинаковый размер. Белый цвет на рисунке считается
прозрачным. Изображения на рисунках считаются пересекающимися, если имеется
хотя бы один пиксел, который не прозрачен и имеет одни и те же координаты для
обоих рисунков.
function
StandardImageFolder: string;
Возвращает стандартный каталог для картинок (обычно \Media\Images\).
procedure
FlipPictureHorizontal(n);
Зеркально отображает картинку с описателем n относительно горизонтальной
оси симметрии.
procedure
FlipPictureVertical(n);
Зеркально отображает картинку с описателем n относительно вертикальной оси
симметрии.
|