*
4Ответ неверный. Процедура MoveRel смещает курсор относительно его 002
текущей позиции.
*
*
1081Ответ неверный. Рисунок будет иметь следующий вид: 002
*
2 2Ответ неверный.Рисунок будет иметь следующий вид: 002
*
3Ответ правильный. 005
*
3 4Ответ неверный. рисунок будет иметь следующий вид: 002
*
*
091Ответ неверный. 002
*
2Ответ неверный. 002
*
3Ответ правильный. 005
*
4Ответ неверный. 002
*
*
101Ответ правильный. 005
*
2Ответ неверный. 002
*
3Ответ неверный. 002
*
4Ответ неверный. 002
*
*
0
УПРАВЛЕНИЕ ЦВЕТОМ И СТИЛЕМ ИЗОБРАЖЕНИЙ
В данном разделе мы рассмотрим возможности управления цветовой
палитрой и стилем рисования.
* procedure GetPalette(var PaletteType);
Возвращает текущую плитру и количество цветов в ней. Применя-
ется только в графическом режиме и только с драйверами EGA, EGA 64
и VGA.
* procedure SetAllPalette(var Palette);
Меняет все цвета палитры на заданные. Переменная без типа
Palette в первом байте содержит число N- количество цветов в палитре
а в последующих N байах - коды задаваемых цветов. Если задана вели-
чина -1, то исходный цвет остается без изменений.
* procedure SetPalette(NumberColor:word;Color:byte);
Изменяет один из цветов палитры. NumberColor - порядковый
номер изменяемого цвета. Color -код нового цвета.
* procedure SetColor(Color:word);
Устанавливает текущий цвет рисования.Color - код цвета либо
его имя. Возможные значения параметра приведены на следующем экране
УПРАВЛЕНИЕ ЦВЕТОМ И СТИЛЕМ ИЗОБРАЖЕНИЯ
_____________________________________________________________________
Имя Значение Назначение
--------------------------------------------------------------------
Black 0 черный
Blue 1 синий
Green 2 зеленый
Cyan 3 голубой
Red 4 красный
Magenta 5 фиолетовый
Brown 6 коричневый
LightGray 7 светло-серый
DarkGray 8 темно-серый
LightBlue 9 светло-синий
LightGreen 10 светло-зеленый
LightCyan 11 светло-голубой
LightRed 12 розовый
LightMagenta 13 светло-фиолетовый
Yellow 14 желтый
1White 15 белый
УПРАВЛЕНИЕ ЦВЕТОМ И СТИЛЕМ ИЗОБРАЖЕНИЯ
* procedure SetBKColor(Color:word);
Устанавливает цвет фона рисования. Color - код или имя цвета.
Для получения справок о кодах цветов, связанных с курсором и
фоном рисования, используются функции:
function GetColor:word;
function GetBKColor:word;
Факторами, определяющими стиль рисования, являются толщина и
способ выражения линий, используемых в изображениях контурных линий
и линий закраски замкнутых фрагментов рисунков.
* procedure SetLineStyle(LineStyle:word; Pattern:word;
* Thiekness:word);
Устанавливает стиль контурных линий и их толщину. Параметр
LineStyle может принимать следующие значения:
SolidLn = 0 ___________________________________________________
DottedLn = 1 ...................................................
CenterLn = 2 ._._._._._._._._._._._._._._._._._._._._._._._._._ .
DashedLn = 3 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
UserBitLn = 4 тип, определяемый пользователем.
Когда LineStyle=userBitLn, задается параметр Pattern - шаблон
линии - двухбайтовое число, каждый бит которого равен 1, если оче-
редной пиксель следует высветить, и 0 в противном случае.
Параметр Thickness устанавливает толщину линий и может при-
нимать следующие значения: NormWidth = 1 - тонкая линия
ThickWidth= 3 - толстая линия
УПРАВЛЕНИЕ ЦВЕТОМ И СТИЛЕМ ИЗОБРАЖЕНИЯ
* procedure GetLineSettings(var LineInfo:LineSettingsType);
Возвращает параметры текущего стиля контурных линий. Тип
LineSettingsType описан в модуле Graph как запись, поля которой:
LineStyle:word;
Pattern:word;
Thickness:word;, имеют тот же смысл, что и одноименные параметры
процедуры SetLineStyle.
* procedure SetFillStyle[(Pattern:word;Color:word)];
Устанавливает стандартные орнамент и цвет заполнения. "По умол-
чанию" закраска белая сплошная. Параметр Color - установка цвета.
Возможные значения параметра Pattern проиллюстрированы на следующем
экране.
* procedure SetFillPattern(Pattern:FillPatternType;Color:word);
Задает произвольный орнамент и цвет заполнения фигур.
Pattern - задаваемый пользователем орнамент.
typeFillPatternType=array[1..8] of byte;
Color - код цвета в палитре.
* procedure GetFillSettings(varFillInfo:FillSettingsType)
Возвращает код и цвет стандартного образца закраски в пере-
менных Color и Pattern соответственно.
УПРАВЛЕНИЕ ЦВЕТОМ И СТИЛЕМ ИЗОБРАЖЕНИЯ
--------------------------------------------------------------------
Имя Значение
--------------------------------------------------------------------
EmptyFill 0 Фоновым цветом
SolidFill 1 Заданным цветом
LineFill 2
LtSlashFill 3
SlashFill 4
BkSlashFill 5
LtBkSlashFill 6
HatchFill 7
XHatchFill 8
InterLeaveFill 9
WideDotFill 10
CloseDotFill 11
2 UserFill 12 Заполнение определяется пользователем
0--------------------------------------------------------------------
01С ПОМОЩЬЮ КАКОЙ ПРОЦЕДУРЫ МОЖНО ВЫВЕСТИ НА ЭКРАН СПИСОК КОДОВ
ЦВЕТОВ НЕИЗВЕСТНОЙ ВАМ ТЕКУЩЕЙ ЦВЕТОВОЙ ПАЛИТРЫ?
1 GetPalette(Palette);
1 2 SetPalette(NumberColor,Color);
3 SetAllPalette(Palette);
4 SetLineStyle(LineStyle,Pattern,Thickness);
*
02УСТАНОВИТЕ НА ЧЕРНОМ ЭКРАНЕ КВАДРАТНОЕ ОКНО И ЗАКРАСЬТЕ ЕГО
СПЛОШНЫМ БИРЮЗОВЫМ ЦВЕТОМ(3).
1 SetFillStyle(0,3);
Bar(X1,Y1,X1+d,Y1+d);
2 SetBKColor(0);
SetColor(3);
Bar(X1,Y1,X1+d,Y1+d);
3 SetBKColor(0);
SetFillStyle(0,3);
Bar(X1,Y1,X1+d,Y1+d);
4 SetFillStyle(0,3);
SetBKColor(0);
Bar(X1,Y1,X1+d,Y1+d);
*
03С ПОМОЩЬЮ КАКОГО ФРАГМЕНТА ВОЗМОЖНО ЗАКРАСИТЬ ПРЯМОУГОЛЬНУЮ
ОБЛАСТЬ КРАСНОГО(4) ЭКРАНА ЧАСТОЙ СЕТКОЙ(9) СИНЕГО ЦВЕТА(1)?
1 SetBKColor(4);
SetFillStyle(9,1,0);
Bar(X1,Y1,X2,Y2);
2 SetBKColor(4);
Rectangle(X1,Y1,X2,Y2);
SetFillStyle(9,1,0);
3 SetBKColor(4);
SetFillStyle(9,1);
Bar(X1,Y1,X2,Y2);
4 SetBKColor(4);
Bar(X1,Y1,X2,Y2);
SetFillStyle(9,1);
*
04ИМЕЕТСЯ ЛИ В ЯЗЫКЕ TURBO PASCAL ВОЗМОЖНОСТЬ УСТАНАВЛИВАТЬ
ПРОИЗВОЛЬНЫЙ (ПО ЖЕЛАНИЮ ПОЛЬЗОВАТЕЛЯ) ЦВЕТ РИСОВАНИЯ, СТИЛЬ И
ТОЛЩИНУ ЛИНИЙ РИСОВАНИЯ?
1 Нет
2 Только цвет
3 Только стиль линий
4 Только стиль и толщину линий
*
05НАПИШИТЕ ПРОГРАММУ РИСОВАНИЯ КОНТУРОВ ПРЯМОУГОЛЬНИКА ЛИНИЯМИ,
СОСТОЯЩИМИ ИЗ ЧЕРЕДУЮЩИХСЯ ПАР ТОЧЕК И ТИРЕ.
1 GetLineStyle(0,0,1);
Rectangle(X1,Y1X2,Y2);
2 SetLineStyle(4,$3,1);
Rectangle(X1,Y1,X2,Y2);
3 SetLineStyle(4,3,1);
Rectangle(X1,Y1,X2,Y2);
4 SetLineStyle(0,13,1);
Rectangle(X1,Y1,X2,Y2);
*
06КАК ОБЕСПЕЧИТЬ ЗАКРАСКУ КАКОЙ-ЛИБО ОБЛАСТИ ЭКРАНА КРАСНЫМ(4)
ЦВЕТОМ 25% ЯРКОСТИ?
1 SetFillPatern(1,2,4,8,1,2,4,8);
2 SetFillPatern(1,2,4,8,1,2,4,8;4);
3 SetFillPatern(11,22,44,88,11,22,44,88);
4 SetFillPatern(11,22,44,88,11,22,44,88;4);
*
07КАКАЯ ИЗ НИЖЕУКАЗАННЫХ ПРОЦЕДУР УСТАНАВЛИВАЕТ СТАНДАРТНЫЕ
ОБРАЗЦЫ ЗАКРАСКИ И ИХ ЦВЕТА?
1 SetFillStyle(Pattern:word;Color:word);
2 SetFillPatern(Pattern:FillPatternType;Color:Word);
3 GetFillSettings(var FillInfo:FillSettingsType);
4 SetLineStyle(LineStyle:Word;Pattern:Word;Thickness:Word);
*
08С ПОМОЩЬЮ КАКОЙ ПРОЦЕДУРЫ МОЖНО ЗАМЕНИТЬ НУЛЕВОЙ,ЧЕРНЫЙ, ЦВЕТ
ПАЛИТРЫ НА ДЕВЯТЫЙ, СВЕТЛО-ГОЛУБОЙ?
1 SetAllPalette;
2 SetColor;
3 SetPalette;
4 GetPalette;
*
09НАПИШИТЕ ПРОГРАММУ ЗАМЕНЫ ЦВЕТА НЕИЗВЕСТНОГО СТАНДАРТНОГО СТИЛЯ
ЗАКРАСКИ НА ЦВЕТ X.
1 Color:=X;
SetFillStyle(Pattern,Color);
2 GetFillSettings;
Color:=X;
SetFillStyle(Pattern;Color);
3 GetFillSettings;
Color:=X;
SetFillPattern(Pattern;Color);
4 GetFillSettings;
Color:=X;
SetFillStyle(Color;Pattern);
*
10НАПИШИТЕ ПРОГРАММУ РИСОВАНИЯ НА КРАСНОМ(4) ЭКРАНЕ ГОЛУБОГО(9)
ОКНА, ЗАКРАШЕННОГО КЛЕТКОЙ СИНЕГО ЦВЕТА(1).
1 SetBKColor(4);
SetFillStyle(7,1);
Bar(X1,Y1,X2,Y2);
2 SetBKColor(4);
Bar(X1,Y1,X2,Y2);
SetFillStyle(7,1);
Bar(X1,Y1,X2,Y2);
3 SetBKColor(4);
SetFillStyle(1,9);
Bar(X1,Y1,X2,Y2);
SetFillStyle(7,1);
Bar(X1,Y1,X2,Y2);
4 SetFillStyle(9,1);
Bar(X1,Y1,X2,Y2);
SetFillStyle(7,1);
SetBKColor(4);
*
0
011Ответ правильный. 005
*
2Ответ неверный. Процедура SetPalette изменяет один из цветов палитры002
*
3Ответ неверный. Процедура SetAllPalette изменяет цвета палитры. 002
*
4Ответ неверный. Процедура SetLineStyle устанавливает стиль 002
контурных линик и их толщину.
*
*
021Ответ правильный. 005
*
2Ответ неверный. Процедура SetColor задает цвет рисования. но не 002
закрашивает фигуры.
*
3Ответ неверный. Нет необходимости устанавливать черный цвет, т.к. 003
он автоматически устанавливается при вхождении в графический режим.
*
4Ответ неверный.На черном экране, установленном процедурой SetBKColor002
будет виден лишь белый контур квадрата.
*
*
031Ответ неверный.Ошибка в написании параметров процедуры SetFillStyle.002
*
2Ответ неверный. Результатом выполенния данного фрагмента будет 002
красный экран.Ошибка в написании параметров процедуры SetFillStyle.
*
3Ответ правильный. 005
*
4Ответ неверный. Стиль и цвет закраски необходимо установить до 002
построения фигуры.
*
*
041Ответ неверный. В языке имеется возможность устанавливать 002
произвольный (по желанию пользователя) стиль контурных линий с
помощью процедуры SetLineStyle(LineStyle,Pattern,Thickness).
При этом параметр LineStyle устанавливается в значение UserBitLn(4)
а параметр Pattern представляет собой битовую строку, определяющую
стиль изображения кнтурных линий. Возможности установить призволь-
ный цвет рисования нет.
*
2Ответ неверный. В языке имеется возможность устанавливать 002
произвольный (по желанию пользователя) стиль контурных линий с
помощью процедуры SetLineStyle(LineStyle,Pattern,Thickness).
При этом параметр LineStyle устанавливается в значение UserBitLn(4)
а параметр Pattern представляет собой битовую строку, определяющую
стиль изображения кнтурных линий. Возможности установить призволь-
ный цвет рисования нет.
*
3Ответ правильный. 005
*
4Ответ неверный. В языке имеется возможность устанавливать 002
произвольный (по желанию пользователя) стиль контурных линий с
помощью процедуры SetLineStyle(LineStyle,Pattern,Thickness).
При этом параметр LineStyle устанавливается в значение UserBitLn(4)
а параметр Pattern представляет собой битовую строку, определяющую
стиль изображения кнтурных линий. Возможности установить призволь-
ный цвет рисования нет.
*
*
051Ответ неверный. Процедура GetLineStyle не устанавливает стиль 002
контурных линий, а возвращает их текущие параметры.
*
2Ответ правильный.
* 005
3Ответ неверный. Параметр Pattern не может состоять из одной цифры, 002
т.к. его значение - двухбайтовое число.
*
4Ответ неверный. При установке стандартного стиля контурных линий 002
параметр Pattern не задается.
*
*
061Ответ неверный. Не указан параметр Color и элементы массива Pattern 002
являются двухбайтовыми.
*
2Ответ неверный. Элементы массива Pattern являются двухбайтовыми. 002