html 绘图渐变和图片填充

 

包括线性渐变和径向渐变

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        #mycanvas{
            border: 1px solid #9c9898;
            background: white;
        }

    </style>
    <script language="JavaScript">
        window.onload=function(){
            var canvas = document.getElementById("mycanvas");
            var contex = canvas.getContext("2d");
            //线性渐变
            var clg=contex.createLinearGradient(0,0,200,0);
            clg.addColorStop(0,"#ff0000");
            clg.addColorStop(0.5,"#00ff00");
            clg.addColorStop(1,"#0000ff");
            contex.fillStyle=clg;
            contex.strokeStyle=clg;
            contex.fillRect(10,10,200,200);

            //径向渐变
            var crg=contex.createRadialGradient(325,100,20,325,100,80);
            crg.addColorStop(0,"#ff0000");
            crg.addColorStop(0.75,"#00ff00");
            crg.addColorStop(1,"#0000ff");
            contex.fillStyle=crg;
            //contex.strokeStyle=crg;
            contex.fillRect(230,10,200,200);
        }
    </script>
</head>
<body>
<canvas id="mycanvas" width="800" height="800"></canvas>
</body>
</html>

 

填充图片,有四种填充方式

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        #mycanvas{
            border: 1px solid #9c9898;
            background: blue;
        }
        button{
            height: 80px;
            width: 200px;
        }
    </style>
    <script language="JavaScript">
        function draw(type){
            var canvas = document.getElementById("mycanvas");
            var contex = canvas.getContext("2d");
            contex.clearRect(0,0,500,200);
            var img =document.getElementById("cf");
            var pat = contex.createPattern(img,type);
            contex.rect(0,0,canvas.width,canvas.height);
            contex.fillStyle=pat;
            contex.fill();
        }

    </script>
</head>
<body>
    <img src="1.png" id="cf" width="50 " height="50"><br>
    <button onclick="draw('repeat-x')" >repeat-x</button>
    <button onclick="draw('repeat-y')">repeat-y</button>
    <button onclick="draw('repea')">repeat</button>
    <button onclick="draw('no-repeat'')">no-repeat</button>
    <br>

    <canvas id="mycanvas" width="800" height="800"></canvas>
</body>
</html>

 

转载于:https://www.cnblogs.com/superxuezhazha/p/5714875.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值