Графические устройства

         

Маскируемый курсор

Маскировка является одним из способов исключения ненужных элементов изображения в процессе построения рисунка. Она применяется не только при выводе на экран курсоров и пиктограмм, но и во многих других случаях, например, при сборке рисунков из отдельных частей. Маска может быть подготовлена заранее с учетом особенностей рисунка или сформирована динамически, на основании анализа цветов строящегося рисунка. В данном разделе рассмотрена работа с готовой маской.

Как производится маскировка

В предыдущем разделе мы использовали тот факт, что при определенных условиях команда хог инвертирует значение операнда-приемника. Заметим также, что у этой команды есть еще одно полезное свойство. Вспомним таблицу истинности логической функции "исключающее ИЛИ" (табл. 5.1). Из нее, в частности, следует, что если один из двух операндов очищен, то результат выполнения команды хог будет равен значению другого операнда. Следовательно, при наложении двух цветов с помощью операции хог черный цвет становится прозрачным.

При построении маскируемого курсора та часть экрана, которую займет его изображение, предварительно окрашивается в черный цвет (очищается). С помощью команды хог (или or) на чистом месте можно построить рисунок любого цвета. Чтобы не портить окружающий фон в образе рисунка, точки, дополняющие его основную часть до прямоугольника, должны иметь черный цвет. Это условие обязательно выполняется у стандартных рисунков курсоров и пиктограмм (см. пример 6.3).

Для закрашивания в черный цвет на место расположения выводимого рисунка накладывается маска. Как говорилось в

Содержание раздела