html5中Canvas为什么要用getContext('2d')

Posted 陈驰字新宇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html5中Canvas为什么要用getContext('2d')相关的知识,希望对你有一定的参考价值。

html DOM getContext() 方法

HTML DOM Canvas 对象

定义和用法

getContext() 方法返回一个用于在画布上绘图的环境。

语法

Canvas.getContext(contextID)

参数

参数 contextID 指定了您想要在画布上绘制的类型。当前唯一的合法值是 "2d",它指定了二维绘图,并且导致这个方法返回一个环境对象,该对象导出一个二维绘图 API。

提示:在未来,如果 <canvas> 标签扩展到支持 3D 绘图,getContext() 方法可能允许传递一个 "3d" 字符串参数。

返回值

一个 CanvasRenderingContext2D 对象,使用它可以绘制到 Canvas 元素中。

描述

返回一个表示用来绘制的环境类型的环境。其本意是要为不同的绘制类型(2 维、3 维)提供不同的环境。当前,唯一支持的是 "2d",它返回一个 CanvasRenderingContext2D 对象,该对象实现了一个画布所使用的大多数方法。

 

举个简单的例子,画一个五子棋棋盘为例:

<canvas id="chess" width="450px" height="450px"></canvas>
var chess = document.getElementById("chess");
var context = chess.getContext("2d");

context.strokeStyle = "#0A0A0A";

var logo = new Image();
logo.src = "image/chess.jpg";

//图片加载完毕后的回调方法
logo.onload = function(){
    //画键盘
    context.drawImage(logo, 0, 0, 450, 450);
    drawChessBorad();
    
}

var drawChessBorad = function(){
    for(var i = 0; i < 15; i++){
        context.moveTo(15 + i*30, 15);
        context.lineTo(15 + i*30, 435);
        context.moveTo(15, 15 + i*30);
        context.lineTo(435, 15 + i*30);
        context.stroke();
    }
}

 

以上是关于html5中Canvas为什么要用getContext('2d')的主要内容,如果未能解决你的问题,请参考以下文章

html5 canvas 元素有啥用

html5 canvas怎么画

html5 canvas绘图有啥用

html5中canvas画的图形如何打印以及导出pdf

SVG 和 HTML5 Canvas 有啥区别?

html5 canvas大小怎么无效