HTML5学习笔记14-Canvas绘制渐变图形与绘制变形图形

1、线性渐变

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>线性渐变</title>
</head>
<body onload="draw()">
    <canvas id="canvas" width="500 " height="500"></canvas>
    <script>
        function draw(){
            var canvas=document.getElementById("canvas");
            if(canvas==null){
                return false;
            }
            var context=canvas.getContext("2d");
            var gl=context.createLinearGradient(0,0,0,300);
            gl.addColorStop(0,"rgb(255,255,0)");
            gl.addColorStop(1,"rgb(0,255,255)");
            context.fillStyle=gl;
            context.fillRect(0,0,500,500);
        }
    </script>
</body>
</html>

2、径向渐变

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>径向渐变</title>
</head>
<body onload="draw()">
    <canvas id="canvas" width="500" height="500"></canvas>
    <script>
        function draw(){
            var canvas=document.getElementById("canvas");
            if(canvas==null){
                return false;
            }
            var context=canvas.getContext("2d");
            var g1=context.createRadialGradient(400,0,0,400,0,400);
            g1.addColorStop(0.1,"rgb(255,255,0)");
            g1.addColorStop(0.3,"rgb(255,0,255)");
            g1.addColorStop(1,"rgb(0,255,255)");
            context.fillStyle=g1;
            context.fillRect(0,0,500,500);
            context.fill();
        }
    </script>
</body>
</html>

3、绘制变形图形

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>变形图形</title>
</head>
<body onload="draw()">
    <!--平移translate(x,y)-->
    <!--缩放scale(x,y)-->
    <!--旋转rotate(deg)-->
    <canvas id="canvas" width="500" height="500"></canvas>
    <script>
        function draw(){
            var canvas=document.getElementById("canvas");
            if(canvas==null){
                return false;
            }
            var context=canvas.getContext("2d");
            context.fillStyle="#eeeeee";
            context.fillRect(0,0,500,500);
            context.translate(200,50);
            context.fillStyle="rgba(255,0,0,0.25)";
            for(var i=0;i<50;i++){
                context.translate(25,25);
                context.scale(0.95,0.95);
                context.rotate(Math.PI/10);
                context.fillRect(0,0,100,50);
            }
        }
    </script>
</body>
</html>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值