html5 canvas学习

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>

    <canvas width ="800" height="500" style=" background:yellow" id="canvas"></canvas>
    <script type="text/javascript">

        /*
            1:获取dom 对象
            2:获取绘图对象
            3:进行操作
                如画线 画圆 方形 等
        */
        //获取dom 对象
        var canvas = document.getElementById(canvas);
        //获取绘图对象
        var cxt = canvas.getContext(2d);

        //设置画笔的宽度

        //如画一条线 moveTo(x,y)表示你要画的开始位置
        // lineTo(x,y) 表示你要画到哪里,也就是拉到哪里
        //stroke()表示执行 moveTo和lineTo命令
        cxt.moveTo(20, 20);
        cxt.lineTo(100, 20);
        cxt.stroke();
        //closePath 封闭路径 表示画的终点封闭
        cxt.closePath();

        //画一个空心圆形    凡是路径图形必须有开起路径,画完了要封闭新路径
        //beginPath表示开启一个新路径
        cxt.beginPath();
        //arc(x,y,半径,角度范围1,角度范围2,顺或逆)是一个画圆 曲线等方法
        cxt.arc(200, 200, 50, 0, 360, false);
        cxt.stroke();
        cxt.closePath();

        //画一个实心圆形
        cxt.beginPath();
        //设置填充的颜色
        cxt.fillStyle = "rgb(255,0,0)";
        cxt.arc(200, 100, 50, 0, 360, false)
        cxt.fill();
        cxt.stroke();
        cxt.closePath();

        /*画一个矩形 矩形方法不属于路径图形所以不需
          封闭路径以及开启路径,但是由于有时候需要
          填充颜色或者其它方法,所以还是画一个图形
          开启一个:
               cxt.beginPath();
       
               cxt.closePath();
         
        */
        //rect(x,y,宽,高)
        cxt.beginPath();
        cxt.rect(300, 20, 100, 100);
        cxt.stroke();
        cxt.closePath();

        //直接画
        cxt.strokeRect(300, 150, 100, 100);

        //实心矩形 
        cxt.beginPath();
        cxt.rect(300, 350, 100, 100);
        cxt.fill();
        cxt.closePath();

        //其他方法 这种方法最方便
        cxt.fillRect(100, 400, 100, 100);

        //设置文字
        cxt.font = "80px 黑体";
        cxt.fillText("无兄弟,不编程", 20, 230);
        //空心字,没有填充功能
        cxt.strokeText("无兄弟,不篮球", 20, 350);

        //画图 不同浏览器的支持不一样
        var img = new Image();
        img.src = "bl.gif";
        //drawImage(要画的对象,x,y,宽,高)
        cxt.drawImage(img, 20, 37, 230, 306);

        //画三角形
        cxt.beginPath();
        cxt.moveTo(300, 500);
        cxt.lineTo(400, 350);
        cxt.lineTo(350, 450);
        cxt.closePath();

        cxt.stroke();

        //旋转图片
        //设置旋转环境 save表示把当前设置好的环境保存好
        cxt.save();
        //图片设计旋转
        //设置旋转角度 
        cxt.rotate(30*Math.PI/180);
        //旋转一个线段
        cxt.beginPath();
        cxt.moveTo(20, 20);
        cxt.lineTo(20, 100);
        cxt.stroke();
        cxt.closePath();
        //创建旋转空间
        cxt.restore();



    </script>
</body>
</html>


 

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