zoukankan      html  css  js  c++  java
  • html 5 canvas

    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>

  • 相关阅读:
    141. Linked List Cycle【easy】
    237. Delete Node in a Linked List【easy】
    234. Palindrome Linked List【easy】
    排序_归并排序
    排序_选择排序
    排序_快速排序
    排序_冒泡排序
    排序_希尔排序
    排序_插入排序
    121. Best Time to Buy and Sell Stock【easy】
  • 原文地址:https://www.cnblogs.com/hym881013/p/4593745.html
Copyright © 2011-2022 走看看