canvas-star3_html/css_WEB-ITnose

WBOY
發布: 2016-06-24 11:33:12
原創
961 人瀏覽過

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>添加天空渐变</title></head><body>    <canvas id="canvas" style="margin:0 auto;">        The current browser does not support Canvas, can replace the browser a try!    </canvas>    <script>        window.onload = function(){            var canvas = document.getElementById('canvas');            canvas.width = 1200;            canvas.height = 800;            if(canvas.getContext('2d')){                var context = canvas.getContext('2d');                // context.fillStyle = "#000";                var skyStyle = context.createLinearGradient(0,0,0,canvas.height);                skyStyle.addColorStop(0.0,'black');                skyStyle.addColorStop(1.0,'#035');                context.fillStyle = skyStyle;                                context.fillRect(0,0,canvas.width,canvas.height)                for(var i=0;i<200;i++){                    var r = Math.random() * 5 + 5;                    var x = Math.random() * canvas.width;                    var y = Math.random() * canvas.height * 0.65;                    var a = Math.random() * 360;                    drawStar(context , x , y , r , a )                }            }else{                alert('当前游览器不支持Canvas,请更换游览器后再试!');            }        }        function drawStar(cxt,x,y,R,rot){            cxt.save();                cxt.translate(x,y);                cxt.rotate(rot/180*Math.PI);                cxt.scale(0.05*R,0.05*R)                starPath(cxt);                cxt.fillStyle = "#fb3";                cxt.strokeStyle = "#fd5";                cxt.lineWidth = 3;                cxt.lineJoin = "round";                cxt.fill();                cxt.stroke();            cxt.restore()        }            function starPath(cxt){                    cxt.beginPath();            for(var i=0;i<5;i++){                cxt.lineTo(Math.cos( (18+i*72) / 180 * Math.PI )*20,                                -Math.sin( (18+i*72) / 180 * Math.PI )*20);                cxt.lineTo(Math.cos( (54+i*72) / 180 * Math.PI )*0.5*20,                                -Math.sin( (54+i*72) / 180 * Math.PI )*0.5*20);            }            cxt.closePath();        }    </script></body><script>    /*图形变换        位移 translate(x,y)        旋转 rotate(deg)        缩放 scale(sx,sy)    */</script></html>
登入後複製

 

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!