canvas 基本用法

  1. 了解canvas
    canvas 是一个可以使用脚本来绘制图形HTML元素。可以用于绘制图形,制作图片或者制作简单的动画

  2. 基本用法

<canvas id='tudorial' width='150' height='150'> </canvas>

canvas 看起来跟 img 元素很像,不同的是没有 src 和 alt 属性,当没有设置宽度和高度的时候,canvas 会初始化宽度为 300px 和 150px 该元素可以使用 css 来定义大小,但绘制图形时会伸缩以适应它的框架尺寸: 如果 css 尺寸与初始化比例不一致会发生扭曲
canvas元素需要结束标签。如果结束标签不存在,则文档的其余部分会被认为是替代内容,将不会显示出来。

  • 检查支持性
    getContext() 是用来获得渲染上下文和绘画功能,接受一个参数,上下文类型
const ctx = canvas.getContext('2d')

可以通过简单测试getContext的方法的存在,脚本可以检查编程支持性

var canvas = document.getElementById('tutorial');

if (canvas.getContext){
  var ctx = canvas.getContext('2d');
  // drawing code here
} else {
  // canvas-unsupported code here
}

模板框架

<html>
  <head>
    <title>Canvas tutorial</title>
    <script type="text/javascript">
      function draw(){
        var canvas = document.getElementById('tutorial');
        if (canvas.getContext){
          var ctx = canvas.getContext('2d');
        }
      }
    </script>
    <style type="text/css">
      canvas { border: 1px solid black; }
    </style>
  </head>
  <body onload="draw();">
    <canvas id="tutorial" width="150" height="150"></canvas>
  </body>
</html>

例子:

<html>
 <head>
  <script type="application/javascript">
    function draw() {
      var canvas = document.getElementById("canvas");
      if (canvas.getContext) {
        var ctx = canvas.getContext("2d");

        ctx.fillStyle = "rgb(200,0,0)";
      /* 参数:
        1. 矩形左上角的 x 坐标
        2. 矩形左上角的 y 坐标。
        3. 矩形的宽度,以像素计。
        4. 矩形的高度,以像素计。
        */
        ctx.fillRect (10, 10, 55, 50);

        ctx.fillStyle = "rgba(0, 0, 200, 0.5)";
        ctx.fillRect (30, 30, 55, 50);
      }
    }
  </script>
 </head>
 <body onload="draw();">
   <canvas id="canvas" width="150" height="150"></canvas>
 </body>
</html>
posted @ 2023-04-12 00:01  webzom  阅读(57)  评论(0编辑  收藏  举报