Or
 
Параметр для графического оператора Put, который использует битовую операцию Or как метод блитинга

Синтаксис

Put [ target, ] [ STEP ] ( x,y ), source [ ,( x1,y1 )-( x2,y2 ) ], Or

Параметры

Or
Требуется.

Описание

Метод Or сочетает в себе каждый исходный пиксель с соответствующим конечным пикселем, используя битовую функцию Or. Результат этого выводится как конечный пиксель.
Этот метод работает во всех графических режимах. Не используется цвет маски, цветовые значения 0 (RGBA(0, 0, 0, 0) в полноцветных режимах) не будет иметь никакого эффекта, из-за поведения Or.

В полноцветных режимах каждый компонент (красный, зеленый, синий и альфа) хранится в дискретном наборе бит, поэтому операция может быть сделана только влияя на некоторые каналы, убедившись, что все значения других каналов установлены в 0.

Пример

''открываем графическое окно
ScreenRes 320, 200, 16

''создаем 3 спрайта, содержащие красный, зеленый и синие круги
Const As Integer r = 32
Dim As Any Ptr cr, cg, cb
cr = ImageCreate(r * 2 + 1, r * 2 + 1, RGBA(0, 0, 0, 0))
cg = ImageCreate(r * 2 + 1, r * 2 + 1, RGBA(0, 0, 0, 0))
cb = ImageCreate(r * 2 + 1, r * 2 + 1, RGBA(0, 0, 0, 0))
Circle cr, (r, r), r, RGB(255, 0, 0), , , 1, f
Circle cg, (r, r), r, RGB(0, 255, 0), , , 1, f
Circle cb, (r, r), r, RGB(0, 0, 255), , , 1, f

''рисуем спрайт при трех различных уровнях множителя
'' перекрывая друг друга в середине
Put (146 - r, 108 - r), cr, Or
Put (174 - r, 108 - r), cg, Or
Put (160 - r,  84 - r), cb, Or

''освобождаем память, используемую  для спрайтов
ImageDestroy cr
ImageDestroy cg
ImageDestroy cb

''приостановим программу перед закрытием
Sleep


Отличия от QB

  • Нет

См. также