Canvas画布

Canvas画布

常用方法与属性
  1. moveTo画笔移动到某一个点
  2. lineTo直线到某一个点
  3. stroke()开始画(描边)
  4. strokeRect()画矩形 空心矩形
  5. strokeStyle设置描边的颜色
  6. fillRect()填充一个矩形
  7. fillStyle设置填充的颜色
  8. strokeText空心的文字
  9. font用于设置字体
  10. fillText填充文字
  11. beginPath相当于提起笔了
  12. closePath相当于把笔放在砚台上面 再次去绘制的时候,就需要moveTo
  13. drawImage画图片
  14. clearRect清除一个矩形区域 案例

下面是一个刮刮乐的案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>刮刮乐</title>
    <style>
        *{
            margin: 0px;
            padding:0px;
            list-style-type: none;
        }
        .box{
            width: 100%;
            height: 55px;
            box-sizing: border-box;
            position: relative;
        }
        .result{
            width: 100%;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 36px;
            font-weight: bold;
        }
        #c1{
            position: absolute;
            left: 0px;
            top: 0px;
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="result"></div>
        <canvas id="c1" height="55px"></canvas>
    </div>
</body>
<script>
    var c1=document.querySelector("#c1");
    c1.width=window.screen.width;

    var result=document.querySelector(".result");
    var arr=["一等奖","二等奖","三等奖","幸福奖","谢谢惠顾"];
    //一等奖中奖机率 4%
    //二等奖中奖机率 10%
    //三等奖中奖机率 15%
    //幸运奖中奖机率 20%
    //其它的  谢谢惠顾51%;
    var temp=parseInt(Math.random()*100);
    var index;
    if(temp<51){
        index=4;
    }
    else if(temp<71){
        index=3;
    }
    else if(temp<86){
        index=2;
    }
    else if(temp<96){
        index=1;
    }
    else{
        index=0;
    }
    result.innerText=arr[index];

    //----------------随机数完成-----------------------
    var ctx = c1.getContext("2d");
    ctx.fillStyle="#ececec";
    ctx.fillRect(0,0,c1.width,c1.height);


    c1.addEventListener("touchstart",function(event){
        var e=event||window.event;
        if(e.changedTouches.length==1){
            //一根手指
            c1.addEventListener("touchmove",tm);
        }
    });

    function tm(event){
        var e=event||window.event;
        if(e.changedTouches.length==1){
            ctx.clearRect(e.changedTouches[0].clientX,e.changedTouches[0].clientY,10,10);
            e.preventDefault();  //阻止事件的默认行为
        }

    }

    c1.addEventListener("touchend",function(){
        c1.removeEventListener("touchmove",tm);
    })
</script>
</html>

效果图
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值