HTML5 - canvas标签

canvas标签

<!doctype html>
<html lang="zh-CN">
    <head>
        <meta charset="utf-8" />
        <title>canvas标签</title>
    <head>
    <body>
        <!-- canvas的宽和高建议直接使用width、height属性设置,同时不要指定单位px -->
        <canvas id="canvas" width="500" height="800" style="background:#ccc;">
            您的浏览器不支持canvas标签,请升级浏览器!
        </canvas>
        <script>
            //获取画布对象
            var canvas=document.getElementById("canvas");
            //alert(canvas);
            //获取用于绘画的上下文环境
            var cxt=canvas.getContext("2d");
            //alert(cxt);

            //画一条线段
            cxt.beginPath();//开启一个新路径
            cxt.lineWidth=10;//设置画笔的宽度
            cxt.strokeStyle="red";//设置画笔的颜色
            cxt.moveTo(20,20);//设置笔触的位置,即起始点
            cxt.lineTo(100,20);//设置终点的位置
            cxt.stroke();//画线
            cxt.closePath();//关闭路径

            //画一个圆形,空心圆
            cxt.beginPath();
            cxt.lineWidth=3;
            cxt.strokeStyle="yellow";
            cxt.arc(200,200,50,0,360,false); //200,200表示圆心位置,50表示半径,0,360表示角度范围,false表示逆时针,true顺时针
            cxt.stroke();
            cxt.closePath();

            //画一个实心圆
            cxt.beginPath();
            cxt.fillStyle="pink";
            cxt.arc(400,200,50,0,360,false);
            cxt.fill();//画实心圆
            cxt.stroke();//画空心圆
            cxt.closePath();

            //画一个矩形,空心矩形
            cxt.beginPath(); 
            /*cxt.rect(200,300,100,50);//200,300表示起始点,100,50表示长和宽
            cxt.stroke(); */
            cxt.strokeRect(200,300,100,100);//建议使用此方式
            cxt.closePath();

            //画一个实心矩形
            cxt.beginPath();
            /*cxt.rect(350,300,50,100);
            cxt.fill();*/
            cxt.fillRect(350,300,50,200); //建议使用此方式
            cxt.closePath();

            //将一段文字写到画布中
            cxt.font="30px 黑体";//设置css font属性
            cxt.fillStyle="red";
            cxt.fillText("欢迎来到南京网博!",20,500);
            cxt.lineWidth=1;
            // 创建渐变
            var gradient=cxt.createLinearGradient(0,0,canvas.width,0);
            gradient.addColorStop("0","magenta");
            gradient.addColorStop("0.5","blue");
            gradient.addColorStop("1.0","red");
            // 用渐变填色
            cxt.strokeStyle=gradient;
            cxt.strokeText("welcome to itany!",20,550);

            //画一个三角形
            cxt.beginPath();
            cxt.moveTo(300,500);
            cxt.lineTo(300,600);
            cxt.lineTo(400,500);
            cxt.closePath(); //需要先关闭路径再画
            cxt.stroke();   
            cxt.fill();

            //将一幅图片添加到画布中
            var img=new Image();
            img.src="dog.jpg";
            cxt.drawImage(img,100,400);
        </script>
    </body>
</html> 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。