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

Синтаксис

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

Параметры

And
Требуется.

Описание

Метод And сочетает в себе каждый исходный пиксель с соответствующей целевым пикселем, используя битовую функцию And. В результате этого выводится как конечный пиксель.
Этот метод работает во всех графических режимах. Для него нет цвета маски. Цветовые значения со всеми установленными битами (255 для 8-битного режима палитры, или RGBA(255, 255, 255, 255) в полноцветных режимах) не будет иметь никакого эффекта, из-за поведения And.

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

Пример

''откроем графическое окно
ScreenRes 320, 200, 16
Line (0, 0)-(319, 199), RGB(255, 255, 255), bf

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

''поместим три спрайта, перекрывающие друг друга в середине
Put (146 - r, 108 - r), cc, And
Put (174 - r, 108 - r), cm, And
Put (160 - r,  84 - r), cy, And

''освободим память, используемую для спрайтов
ImageDestroy cc
ImageDestroy cm
ImageDestroy cy

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


Отличия от QB

  • Нет

См. также