Skip to content

AND(图形 Put)


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
Sleep

end GeSHi

与 QB 的区别

另请参阅

  • And
  • Put (Graphics)

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系