PC端使用Canvas实现刮刮卡效果

本文介绍如何在PC端利用Canvas实现刮刮卡效果。通过Canvas对信息进行遮盖,运用destination-out操作符使刮擦区域变为透明。当刮擦面积达到一定比例时,隐藏信息显示。详细代码包括CSS、HTML和JS部分,并提供了预览链接。
摘要由CSDN通过智能技术生成

话不多说,先上效果:blogai.cn

主要思路是通过canvas对信息进行遮盖,通过使用destination-out对已涂颜色对冲,从而变得透明。

//使用globalCompositeOperation 中的destination-out ,使已经填充的颜色变透明;
        context.globalCompositeOperation = 'destination-out';

使用 getImageData计算canvas中的像素数,通过计算刮开的比例,当刮开超过一般时,遮盖信息显示到最上层(z-index) 

 

具体代码如下:

css

 <style>
        * {
            box-sizing: border-box;
        }

        .card {
            position: absolute;
            width: 500px;
            height: 360px;
            box-shadow: 5px 4px 6px 2px #ccced1;
            top: 50%;
            left: 50%;
            transform: translateY(-50%) translateX(-50%);
            text-align: center;
        }

        .header {
            width: 100%;
            height: 240px;
            background: cornflowerblue;
            background: radial-gradient(15px at bottom left, transparent 50%, cornflowerblue 50%) bottom left,
            radial-gradient(15px a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值