Алгоритмические языки и программирование. Часть 3. Модули в Турбо Паскале. Игошина Л.В. - 39 стр.

UptoLike

Составители: 

39
39
2.2.7 Задание типа заливки
Под заливкой понимается заполнение площади, нарисованной фигуры
некоторым рисунком и цветом.
Для задания типа (шаблона) заливки используется процедура:
SetFillStyle (Pattern, Color);
Pattern - тип заливки, Color - цвет заливки (от 0 до 15), переменные типа Word.
Значения переменной Pattern выбираются из констант, определенных в
модуле Graph:
Const EmptyFill = 0 { Сплошная заливка цветом фона}
SolidFill = 1 { Сплошная заливка текущим (Color) цветом}
LineFill = 2 { Заливка
типа = = = }
LtSlashFill = 3 { Заливка типа ///}
SlashFill = 4 { Заливка жирными линиями типа ///}
BkSlashFill = 5 { Заливка жирными линиями типа \\\}
LtBkSlashFill = 6 { Заливка типа \\\}
HatchFill = 7 { Заливка редкой штриховкой }
XhatchFill = 8 { Заливка частой штриховкой }
InterleaveFill = 9 {Заливка прерывистой линией}
WideDotFill = 10 {Заливка редкими точками}
CloseDotFill = 11 { Заливка частыми точками}
UserFill = 12 { Заливка, определенная программистом}
Если вы хотите определить свой тип (новый, отличный от 1-11 типов), то
необходимо воспользоваться сначала
процедурой SetFillPattern(Matr,Color),
где Matr - переменная типа FillPatternType, определенного в модуле Graph:
Type
FillPatternType = array[1..8] of byte;
Таким образом, Matr - это массив, его необходимо заполнить до
использования, шестнадцатеричными значениями.
Рассмотрим пример формирования нового типа (шаблона) заливки и
соответствующего массива Matr. По аналогии с формированием шаблона для типа
линии, каждый элемент массива представляет собой значение типа byte, каждый
из восьми разрядов (бит)
которого 0 или 1. Всего элементов 8. То есть мы имеем
дело с матрицей 8 х 8. Заполним матрицу 0 и 1 аналогично клеткам шахматной
доски и вместо черных клеток поставим 1, а белых - 0. Тогда матрица для нашего
шаблона будет иметь вид:
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1
                                                                             39




                         2.2.7 Задание типа заливки

       Под заливкой понимается заполнение площади, нарисованной фигуры
некоторым рисунком и цветом.
       Для задания типа (шаблона) заливки используется процедура:
       SetFillStyle (Pattern, Color);
Pattern - тип заливки, Color - цвет заливки (от 0 до 15), переменные типа Word.
       Значения переменной Pattern выбираются из констант, определенных в
модуле Graph:
       Const        EmptyFill = 0 { Сплошная заливка цветом фона}
              SolidFill = 1 { Сплошная заливка текущим (Color) цветом}
              LineFill = 2 { Заливка типа = = = }
              LtSlashFill = 3 { Заливка типа ///}
              SlashFill = 4 { Заливка жирными линиями типа ///}
              BkSlashFill = 5 { Заливка жирными линиями типа \\\}
              LtBkSlashFill = 6 { Заливка типа \\\}
              HatchFill = 7 { Заливка редкой штриховкой }
              XhatchFill = 8 { Заливка частой штриховкой }
              InterleaveFill = 9 {Заливка прерывистой линией}
              WideDotFill = 10 {Заливка редкими точками}
              CloseDotFill = 11 { Заливка частыми точками}
              UserFill = 12 { Заливка, определенная программистом}
       Если вы хотите определить свой тип (новый, отличный от 1-11 типов), то
необходимо воспользоваться сначала процедурой SetFillPattern(Matr,Color),
где Matr - переменная типа FillPatternType, определенного в модуле Graph:
Type
 FillPatternType = array[1..8] of byte;
       Таким образом, Matr - это массив, его необходимо заполнить до
использования, шестнадцатеричными значениями.
       Рассмотрим пример формирования нового типа (шаблона) заливки и
соответствующего массива Matr. По аналогии с формированием шаблона для типа
линии, каждый элемент массива представляет собой значение типа byte, каждый
из восьми разрядов (бит) которого 0 или 1. Всего элементов 8. То есть мы имеем
дело с матрицей 8 х 8. Заполним матрицу 0 и 1 аналогично клеткам шахматной
доски и вместо черных клеток поставим 1, а белых - 0. Тогда матрица для нашего
шаблона будет иметь вид:
           1   0     1    0     1    0   1   0
           0   1     0    1     0    1   0   1
           1   0     1    0     1    0   1   0
           0   1     0    1     0    1   0   1
           1   0     1    0     1    0   1   0
           0   1     0    1     0    1   0   1
           1   0     1    0     1    0   1   0
           0   1     0    1     0    1   0   1
                                                                             39