1. 创建一个画布
<canvas id="myCanvas" width="200" height="100"
style="border:1px solid #000000;">
</canvas>
2. 绘制矩形
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="#FF0000";
ctx.fillRect(0,0,150,75);
3. 绘制路径
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.moveTo(0,0);
ctx.lineTo(200,100);
ctx.stroke();
4. 绘制圆形
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.beginPath();
ctx.arc(95,50,40,0,2*Math.PI);
ctx.stroke();
5. 绘制文本 -- font:字体,fillTest:实心文本,strokeTest:空心文本
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.font="30px Arial";
ctx.fillText("Hello World",10,50);
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.font="30px Arial";
ctx.strokeText("Hello World",10,50);
6. 渐变填充 -- createLinearGradient(x,y,x1,y1) - 创建线条渐变,createRadialGradient(x,y,r,x1,y1,r1) - 创建一个径向/圆渐变
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
// 创建渐变
var grd=ctx.createLinearGradient(0,0,200,0);
grd.addColorStop(0,"red");
grd.addColorStop(1,"white");
// 填充渐变
ctx.fillStyle=grd;
ctx.fillRect(10,10,150,80);
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
// 创建渐变
var grd=ctx.createRadialGradient(75,50,5,90,60,100);
grd.addColorStop(0,"red");
grd.addColorStop(1,"white");
// 填充渐变
ctx.fillStyle=grd;
ctx.fillRect(10,10,150,80)
7. 图像
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("scream");
ctx.drawImage(img,10,10);
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("scream");
img.onload = function() {
ctx.drawImage(img,10,10);
ctx.font="30px Arial";
ctx.strokeText("Hello World",10,50);
}
getContext("2d") 对象的属性和方法,可用于在画布上绘制文本、线条、矩形、圆形等等。
颜色、样式和阴影
线条样式
矩形
路径
转换
文本
图像绘制
像素操作
属性 | 描述 |
width |
返回 ImageData 对象的宽度。 |
height |
返回 ImageData 对象的高度。 |
data |
返回一个对象,其包含指定的 ImageData 对象的图像数据。 |
合成
其他
方法 | 描述 |
save() |
保存当前环境的状态。 |
restore() |
返回之前保存过的路径状态和属性。 |
createEvent() |
|
getContext() |
|
toDataURL() |
|