AND(图形 Put)
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgAndGfx
- 最后更新: 2023-07-09
Put 图形语句的参数,使用位运算 And 作为位图传输方法
语法
Put [ target, ] [ STEP ] ( x,y ), source [ ,( x1,y1 )-( x2,y2 ) ], And参数
And
必填。
说明
And 方法将每个源像素与对应的目标像素进行位运算 And 操作,结果作为目标像素输出。
此方法适用于所有图形模式。没有遮罩颜色,但由于 And 的特性,所有位都置 1 的颜色值(8 位调色板模式下为 255,全彩模式下为 RGBA(255, 255, 255, 255))不会产生任何效果。
在全彩模式下,每个分量(红、绿、蓝和 alpha)都保存在一组独立的位中,因此只需将其他通道的所有值设为 255,即可使操作仅影响某些通道。
示例
start GeSHi
vb
''open a graphics window
ScreenRes 320, 200, 16
Line (0, 0)-(319, 199), RGB(255, 255, 255), bf
''create 3 sprites containing cyan, magenta and yellow circles
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 the three sprites, overlapping each other in the middle
Put (146 - r, 108 - r), cc, And
Put (174 - r, 108 - r), cm, And
Put (160 - r, 84 - r), cy, And
''free the memory used by the sprites
ImageDestroy cc
ImageDestroy cm
ImageDestroy cy
''pause the program before closing
Sleepend GeSHi
与 QB 的区别
- 无
另请参阅
AndPut (Graphics)
返回 目录