Продедура SetFillStyle - устанавливает стиль (тип и цвет) заполнения

Процедура SetBkColor - устанавливает цвет фона.

Процедура SetColor - устанавливает текущий цвет для выводимых линий и символов.

Краски, палитры, заполнения

Заголовок:

Procedure SetColor(Color: Word);

Здесь Color - текущий цвет.

В модуле Graph определены точно такие же константы для задания цвета, как и в модуле CRT.

Заголовок:

Procedure SetBkColor(Color: Word);

Здесь Color - цвет фона.

В отличие от текстового режима, в котором цвет фона может быть только темного оттенка, в графическом режиме он может быть любым. Установка нового цвета фона немедленно изменяет цвет графического экрана. Это означает, что нельзя создать изображение, два участка которого имели бы разный цвет фона. Для CGA -адаптера в режиме высокого разрешения установка цвета фона изменяет цвет активных пикселей. Замечу, что после замены цвета фона на любой, отличный от 0 (Black) цвет, Вы не сможете более использовать цвет 0 как черный, он будет заменяться на цвет фона, т.к. процедуры модуля Graph интерпретируют цвет с номером 0 как цвет фона. Это означает, в частности, что Вы уже не сможете вернуть фону черный цвет!

Заголовок:

Procedure SetFillStyle(Fill,Color: Word);

Здесь Fill - тип заполнения; Color - цвет заполнения.

С помощью заполнения можно покрывать какие-либо фрагменты изображения периодически повторяющимся узором. Для указания типа заполнения используются следующие предварительно определенные константы:

const

EmptyFill = 0;{Заполнение фоном (узор отсутствует)}

SolidFill = 1;{Сплошное заполнение}

LineFill = 2;{Заполнение -------}

LtSlashFill = 3;{Заполнение ///////}

SlashFill = 4;{Заполнение утолщенными ///}

BkSlashFill = 5;{Заполнение утолщенными \\\}

LtBkSlashFill = 6;{Заполнение \\\\\\\}

HatchFill = 7;{Заполнение +++++++}

XHatchFill = 8;{Заполнение ххххххх}

InterleaveFill= 9;{Заполнение прямоугольную клеточку}

WideDotFill = 10;{Заполнение редкими точками}

CloseDotFill = 11;{Заполнение частыми точками}

UserFill = 12;{Узор определяется пользователем}

Программа из следующего примера продемонстрирует Вам все стандартные типы заполнения.

Uses Graph, CRT;

var

d,r,e,k,j,x,y: Integer;

begin

{Инициируем графику}

d:= Detect; InitGraph(d, r, ' ');

e:= GraphResult; if e <> grOk then

WriteLn(GraphErrorMsg(e))

else

begin

x:= GetMaxX div 6;{Положение графика}

у:= GetMaxY div 5;{на экране}

for j:= 0 to 2 do{Два ряда}

for k:= 0 to 3 do{По четыре квадрата}

begin

Rectangle((k+1)*x,(j+1)*y,(k+2)*x,(j+2)*y);

SetFillStyle(k+j*4,j+1);

Bar((k+1)*x+1,(j+1)*y+1,(k+2)*x-1,(j+2)*y-1)

end;

if ReadKey=#0 then k:= ord(ReadKey);

CloseGraph

end

end.

Если параметр Fill имеет значение 12 (UserFill), то рисунок узора определяется программистом путем обращения к процедуре SetFillPattern.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: