html5蒙层引导页,Canvas Xfermode 绘制引导页蒙层

本文介绍如何使用HTML5 Canvas的Xfermode绘制半透明蒙层,并在蒙层上创建全透明圆圈,以实现引导页的高亮显示功能。通过PorterDuffXfermode的SRC_OUT模式,成功避免了颜色差异导致的异或效果不明显问题,实现了自定义的全屏引导页效果。
摘要由CSDN通过智能技术生成

首先看下我们需要实现的效果:

4f9fbcce3bf8

Paste_Image.png

我们需要制造半透明的灰色蒙层,以及全透明的圆圈来着重显示功能点。当然在图层上的view可以使用各种切图实现不同的效果。

最开始我是通过自定义全屏的DIalog完成这个效果,但是测试发现,自定义的View一直无法绘制全屏,尽管我尝试通过测量手机宽高来绘制全屏的background bitmap,依然无功而返…(应该是写代码的姿势不对)

于是我换成了Activity…

当然我们还需要解决如何在半透明图层上"挖"出一个无背景色的圆。这里就需要依靠 paint.setXfermode()这个方法了。

Xfermode

Xfermode is the base class for objects that are called to implement custom "transfer-modes" in the drawing pipeline. The static function Create(Modes) can be called to return an instance of any of the predefined subclasses as specified in the Modes enum. When an Xfermode is assigned to an Paint, then objects drawn with that paint have the xfermode applied.

这是一种图形混合的模式,它有三个子类,我们主要利用PorterDuffXfermode,根据16条Porter-Duff规则的任意一条来控制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值