C/C++实现刮刮乐-刮奖区,刮出一套房

程序简介

    这个程序模拟了刮刮乐的刮卡操作,按下鼠标左键并移动可以刮开刮卡层。

    刮卡操作是通过掩码图实现的,一张隐藏的待刮开背景图,一张掩码图。

    刮卡的时候,是在黑色的掩码图上画线,显示的时候,通过掩码图将背景图显示出来。

程序效果展示和完整源码都在后面~

现在具体说一下显示方式:

    先贴完整的三元光栅操作码:EasyX 文档 - 三元光栅操作

    首先,背景图就是普通的 IMAGE 对象,不做任何处理。

    其次,掩码图中,未刮开区域对应的是黑色,已刮开区域对应的是白色。

显示的步骤:

1. 将背景图中未刮开的区域置为黑色:

    操作目标(D):背景图

    操作源(S):掩码图

    操作:背景图 AND 掩码图

    ⇒ 操作目标 AND 操作源 ⇒ D a S ⇒ DSa(后缀表达式),可以在三元光栅操作码中找到 DSa 对应的操作码是 008800C6(SRCAND)。

2. 将覆盖层中已刮开的区域置为黑色:

    操作目标(D):覆盖层

    操作源(S):掩码图

    操作:覆盖层 AND (NOT 掩码图)

    ⇒ 操作目标 AND (NOT 操作源) ⇒ D a (n S) ⇒ DSna(后缀表达式),可以在三元光栅操作码中找到 DSna 对应的操作码是 00220326。

3. 将背景图合并到覆盖层中,就是将前两步的 IMAGE 图像进行 OR 操作合并:

    操作目标(D):覆盖层

    操作源(S):背景图

    操作:</

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值