您的位置:首页 > Web前端 > HTML5

html5 canvas 学习笔记

2015-09-24 11:37 567 查看
getContext("2d")
对象是内建的 HTML5 对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。

fillStyle属性可以是CSS颜色,渐变,或图案

fillRect(x,y,width,height)
方法定义了矩形当前的填充方式。

实例:

var c=document.getElementById("myCanvas");

var ctx=c.getContext("2d");

ctx.fillStyle="#FF0000";

ctx.fillRect(0,0,150,75);

moveTo(x,y)
定义线条开始坐标

lineTo(x,y)
定义线条结束坐标

实例:

var c=document.getElementById("myCanvas");

var ctx=c.getContext("2d");

ctx.moveTo(0,0);

ctx.lineTo(200,100);

ctx.stroke();

arc(x,y,r,start,stop) 定义圆形

实例:

var c=document.getElementById("myCanvas");

var ctx=c.getContext("2d");

ctx.beginPath();

ctx.arc(95,50,40,0,2*Math.PI);

ctx.stroke();

canvas 绘制文本

font
- 定义字体

fillText(text,x,y)
- 在 canvas 上绘制实心的文本

strokeText(text,x,y)
- 在 canvas 上绘制空心的文本

实例1 :

var c=document.getElementById("myCanvas");

var ctx=c.getContext("2d");

ctx.font="30px Arial";

ctx.fillText("Hello World",10,50);

实例2:

var c=document.getElementById("myCanvas");

var ctx=c.getContext("2d");

ctx.font="30px Arial";

ctx.strokeText("Hello World",10,50);

canvas 渐变 渐变可以填充在矩形,
圆形, 线条, 文本等等, 各种形状可以自己定义不同的颜色。

createLinearGradient(x,y,x1,y1)
- 创建线条渐变

createRadialGradient(x,y,r,x1,y1,r1)
- 创建一个径向/圆渐变

addColorStop()方法指定颜色停止,参数使用坐标来描述,可以是0至1.

使用渐变,设置fillStyle或strokeStyle的值为
渐变,然后绘制形状,如矩形,文本,或一条线。

使用
createLinearGradient():

实例1:(创建一个线性渐变。使用渐变填充矩形)

var c=document.getElementById("myCanvas");

var ctx=c.getContext("2d");

// Create gradient

var grd=ctx.createLinearGradient(0,0,200,0);

grd.addColorStop(0,"red");

grd.addColorStop(1,"white");

// Fill with gradient

ctx.fillStyle=grd;

ctx.fillRect(10,10,150,80);

实例2:(创建一个径向/圆渐变。使用渐变填充矩形)

var c=document.getElementById("myCanvas");

var ctx=c.getContext("2d");

// Create gradient

var grd=ctx.createRadialGradient(75,50,5,90,60,100);

grd.addColorStop(0,"red");

grd.addColorStop(1,"white");

// Fill with gradient

ctx.fillStyle=grd;

ctx.fillRect(10,10,150,80);

canvas 图像

drawImage(image,x,y)

实例:

var c=document.getElementById("myCanvas");

var ctx=c.getContext("2d");

var img=document.getElementById("scream");

ctx.drawImage(img,10,10);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: