Skip to content

OR(图形 Put)


Put 图形语句的参数,使用位运算 Or 作为位图传输方法

语法

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

参数

Or

必填。

说明

Or 方法将每个源像素与对应的目标像素进行位运算 Or 操作,结果作为目标像素输出。

此方法适用于所有图形模式。没有遮罩颜色,但由于 Or 的特性,颜色值为 0(全彩模式下为 RGBA(0, 0, 0, 0))的像素不会产生任何效果。

在全彩模式下,每个分量(红、绿、蓝和 alpha)都保存在一组独立的位中,因此只需将其他通道的所有值设为 0,即可使操作仅影响某些通道。

示例

start GeSHi

vb
''open a graphics window
ScreenRes 320, 200, 16

''create 3 sprites containing red, green and blue circles
Const As Long 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 the sprite at three different multipier
''levels, overlapping each other in the middle
Put (146 - r, 108 - r), cr, Or
Put (174 - r, 108 - r), cg, Or
Put (160 - r,  84 - r), cb, Or

''free the memory used by the sprites
ImageDestroy cr
ImageDestroy cg
ImageDestroy cb

''pause the program before closing
Sleep

end GeSHi

与 QB 的区别

另请参阅

  • Or
  • Put (Graphics)

返回 目录

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