Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

Режимы пера

CuBook25

У пера Реn имеется свойство Mode (режим). По умолчанию значение Mode = pmCopy. Это означает, что линии проводятся цветом, заданным в свойстве Color. Но возможны и другие режимы, в которых учитывается не только цвет Color, но и цвет соответствующих пикселов фона. Наиболее интересным из этих режимов является режим pmNotXor - сложение с фоном по инверсному исключающему ИЛИ. Операция инверсного исключающего ИЛИ анализирует по битам два своих операнда. Результирующий бит равен 0, если соответствующие биты двух операндов не равны друг другу, а при равенстве битов операндов результирующий бит равен 1.
 
Вспомните, что каждый пиксел хранит цвет как набор битов. Пусть, например, фоновый пиксел имеет значение 0110011, а цвет пера установлен в 1111000. Применение, операции pmNotXor к этим двум числам даст цвет со значением 0110100. Этот цвет перо задаст данному пикселу. А теперь посмотрим, что получится, если перо повторно пройдет по тому же пикселу. В этом случае опять будет выполнена операция pmNotXor по отношению к цвету пера 1111000 и текущему цвету пиксела, который стал равен 0110100. Применение pmNotXor к этим числам даст в результате 0110011, т.е. первоначальный цвет пиксела.
 
Это значит, что если нарисовать на фоне какую-то фигуру один раз, а затем нарисовать ту же фигуру повторно, то нарисованная фигура исчезнет и каждый пиксел вернется к своему первоначальному цвету. Эту особенность режима pmNotXor, свойственную также режиму pmXor - сложение с фоном по исключающему ИЛИ, можно использовать для создания простенькой анимации. Достаточно нарисовать нечто, затем стереть нарисованное, перерисовать немного измененным и рисунок будет представляться ожившим.
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий