标签:
Canvas绘制的总体的步骤:
1.创建HTML页面,设置画布标签
2.编写js,获取画布dom对象
3.通过Canvas标签的Dom对象获取上下文
4.设置绘制线样式、颜色
5.绘制图形,或者填充图形
浏览器支持:
Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari 支持 <canvas> 及其属性和方法。
注释:Internet Explorer 8 以及更早的版本不支持 <canvas> 元素。
检测浏览器支持情况
<p id="support"></p>
 <script type="text/javascript">
            try
            {
                document.createElement("Canvas").getContext("2d");
                document.getElementById("support").innerHTML = "OK";
                
            }
            catch (e)
            {
                document.getElementById("support").innerHTML = e.message;
            }
</script>
绘制矩形:
<body>
    <canvas id="diagonal" style="border:1px solid blue;" width="200" height="200"/></canvas>
    <!---下面演示一种绘制矩形>
    <script type="text/javascript">
       //第一步:获取canvas元素
        var canvasDom = document.getElementById("diagonal");
        //第二步:获取上下文
        var context = canvasDom.getContext(‘2d‘);
        //第三步:指定绘制线样式、颜色
        context.strokeStyle = "red";
        //第四步:绘制矩形,只有线。内容是空的
        context.strokeRect(10, 10, 190, 100);
        
        //以下演示填充矩形。
        context.fillStyle = "blue";
        context.fillRect(110,110,100,100);
    </script>
</body>
在Canvas中插入图片:
 // 加载图片
        var bark = new Image();
        bark.src = "bark.jpg";
        // 图片加载完成后,再调用绘图的函数
        bark.onload = function () {
            drawTrails();
        }
canvas背景图:
 // 加载图片
      var gravel = new Image();
      gravel.src = "gravel.jpg";
      gravel.onload = function () {
          drawTrails();
      }
   // 用背景图替代粗线条
     context.strokeStyle = context.createPattern(gravel, ‘repeat‘);
     context.lineWidth = 20;
     context.stroke();
对角线:
//取得Canvas元素及其绘图上下文var canvas = document.getElementById("diagonal");
var context = canvas.getContext("2d");
//用绝对坐标来创建一条路径
context.beginPath();
context.moveTo(70, 140);
context.lineTo(140, 70);
//将这条线绘制到Canvas上
context.stroke();
变换:
//取得Canvas元素及其绘图上下文
var canvas = document.getElementById("diagonal");
var context = canvas.getContext("2d");
//保存当前绘图状态
context.save();
//向右下方移动绘图上下文
context.translate(70, 140);
//以原点为起点,绘制与前面相同的线段
context.beginPath();
context.moveTo(0, 0);
context.lineTo(70, -70);
context.stroke();
context.restore();
canvas绘制圆形和弧形:
<canvas id="can" width="200" height="200"></canvas>
<script type="text/javascript">
    var can = document.getElementById("can");
    var ctx = can.getContext("2d");
    ctx.beginPath();
    
    ctx.arc(75,75,50,0,Math.PI*2,true); // 外圈
    ctx.moveTo(110,75);
    ctx.arc(75,75,35,0,Math.PI,false);   // 嘴,半圈
    ctx.moveTo(65,65);
    ctx.arc(60,65,5,0,Math.PI*2,true);  // 左眼
    ctx.moveTo(95,65);
    ctx.arc(90,65,5,0,Math.PI*2,true);  // 右眼
    ctx.stroke();//使用ctx.fill();就是填充色;
</script>
标签:
原文地址:http://www.cnblogs.com/hym881013/p/4593745.html