Краски, палитры, заполнения
Функция GetPaletteSize
Возвращает значение типа Integer, содержащее размер палитры (максимальное количество доступных цветов). Заголовок:
Function GetPaletteSize: Integer;
Процедура GetDefaultPalette
Возвращает структуру палитры, устанавливаемую по умолчанию (в режиме автонастройки). Заголовок:
Procedure GetDefaultPalette(var Palette: PaletteType);
Здесь Palette – переменная типа PaletteType (см. процедуру GetPalette), в которой возвращаются размер и цвета палитры.
Процедура SetFillStyle
Устанавливает стиль (тип и цвет) заполнения. Заголовок:
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.