SetColor( Color : word) - процедура установки цвета изображения , указанного значением Сolor, из текущей палитры. По умолчанию выбирается максимальный цвет палитры.
SetBkColor (Color : word) - процедура установки текущего фонового цвета, используя заданную палитру. Выполнение процедуры для Color, равного 0, т.е. SetBkColor(0) всегда приводит к установке черного цвета фона, этот же режим устанавливается по умолчанию. Пример программы, выводящей различные линии на различном фоне.
Uses Crt,Graph;
Var Driver,Mode:integer;
Palette:PaletteType;
Begin
Driver:=Detect;
InitGraph(Driver,Mode,'');
Randomize;
repeat
SetBKColor(Random(GetPaletteSize));
SetColor(Random(GetMaxColor)+1);
LineTo(Random(GetMaxX),Random(GetMaxY));
Delay(200);
until KeyPressed;
CloseGraph;
End.
Все допустимые значения цветов зависят от текущего графического драйвера и установленного графического режима.
SetLineStyle(LineStyle,Pattern,Thickness:word) - процедура установки стиля вычерчивания линии, где :
LineStyle - тип линии, задается константами:
const
SolidLine = 0 { сплошная }
DottedLine= 1 { точки }
CenterLn = 2 { точки и тире }
DashedLn = 3 { пунктирная }
UserBitLn = 4 { определяется пользователем }
Thickness - толщина линии, задается константами:
const
NormWidth = 1 { нормальная }
ThickWidth= 3 { увеличенная }
Если стиль выводимой линии использует тип линии от 0 до 3, то параметр Pattern игнорируется , в противном случае пользователь должен задать шаблон линии параметром Pattern, который определяет отрезок линии в 16 пикселей, устанавливая в 1 бит для светящегося символа, 0 - для несветящегося, повторяющийся по всей длине линий.
Пример. Вывод линий всех видов.
Uses Graph;
Var Driver,Mode,i:integer;
Begin
Driver:=Detect;
InitGraph (Driver, Mode,'');
if GraphResult=0 then
begin
SetColor(2);
for i:=0 to 3 do
begin
SetLineStyle(i,0,NormWidth);
SetColor(i+1);
Line(10,i*50+1,250,i*50+1);
end
end;
readln;
CloseGraph
end.
Для управления стилем заполнения изображений определена
процедура :
SetFillStyle(Pattern:word; Color:word) - установка шаблона Pattern и цвета Color заполнения перед выполнением процедур FillPoly, Bar, Bar3D, PieSlise. По умолчанию данные процедуры используют сплошной шаблон заполнения с MaxColor в палитре.
InterleaveFill=9; {штриховка в прямоугольную клеточку}
WideDotFill =10;{штриховка редкими точками}
CloseDotFill =11;{штриховка частыми точками}
UserFill =12;{штриховка определяется пользователем}
Если Pattern выбирается равным UserFill, то шаблон заданный пользователем становится активным. Пример шаблона, заполнен ного пользователем см. в разделе 3.2. Данная процедура игнорируется, если какая-либо часть области не вмещает три элемента шаблона.
Пример.
Uses Graph;
Var Driver,Mode,i:integer;
Begin
Driver:=Detect;
InitGraph (Driver, Mode,'');
Randomize;
if GraphResult=0 then
begin
SetColor(2);
for i:=1 to 11 do
begin
SetFillStyle(i,1);
SetColor(Random(GetMaxColor));
Bar(10,10,200,150);
readln
end
end;
readln;
CloseGraph
end.
FloodFill(X,Y:integer; Border:word) - процедура заполнения, ограниченной замкнутой линией цвета Border. Образец заполнеия из SetFiilStyle или SetFillPattern. Если точка (X,Y) является внутренней точкой заполняемой области, то закрашивается область. Иначе происходит заполнение внешней части области.
Пример заполнения окружности штриховкой частыми точками зеленого цвета.