canvas初体验之16个经典canvas实例
说明:
<canvas>元素⽤于在⽹页上绘制图形。这是⼀个图形容器,您可以控制其每⼀像素,必须使⽤脚本来绘制图形。
IE 8 以及更早的版本不⽀持 <canvas>元素。
尤⾬溪个⼈主页炫彩三⾓纽带效果,点击还可变换
知乎登录注册页动态离⼦背景效果
基于 canvas 的五⼦棋完整功能实现
基于 canvas 的《是男⼈就下100层》⼩游戏完美实现
⽑笔字书写⽥字格,可以写字
随⼼⽽动,随刃⽽⾏。输⼊⽂字显⽰动画粒⼦特效
⿏标移动炫彩⼩球
2048
贪吃蛇
看你有多⾊
坦克⼤战
宇宙⾏星旋转特效
⽀付宝咻咻咻动画特效
程序员表⽩代码
⼼形⽂字
照⽚墙
canvas 简介
<canvas>元素⽤于在⽹页上绘制图形。这是⼀个图形容器,您可以控制其每⼀像素,必须使⽤脚本来绘制图形。
<canvas>标记和 SVG 以及 VML 之间的⼀个重要的不同是, <canvas>有⼀个基于 Java的绘图 API,⽽ SVG 和 VML 使⽤⼀个 XML ⽂档来描述绘图。
注意:IE 8 以及更早的版本不⽀持 <canvas>元素。
canvas 初体验
1.
<canvasid="myCanvas"width="450"height="450">
2.
Your browser does not support the Canvas API, Please upgrade your browser.
3.
</canvas>
4.
5.
<>
6.
let myCanvas =ElementById('myCanvas');
7.
let ctx =Context('2d');
8.
9.
10.
ctx.lineTo(200,200);
11.
ctx.lineTo(200,300);
12.
13.
ctx.stroke();
ctx.stroke();
14.
</>
canvas 核⼼ API 讲解
建议⼤家看官⽅⽂档来系统的学习 canvas API,本⽂下⾯的例⼦只是对知识点的巩固。
颜⾊、样式和阴影
fillStyle、strokeStyle
fillStyle 属性设置或返回⽤于填充绘画的颜⾊、渐变或模式。
strokeStyle 属性设置或返回⽤于笔触的颜⾊、渐变或模式。
1.
// ⽤蓝⾊填充矩形
2.
ctx.fillStyle="#0000ff";
3.
ctx.fillRect(20,20,150,100);
4.
5.
// 渐变填充
6.
varmy_ateLinearGradient(0,0,0,170);
7.
my_gradient.addColorStop(0,"black");
8.
my_gradient.addColorStop(1,"white");
9.
ctx.fillStyle=my_gradient;
10.
ctx.fillRect(20,20,150,100);
11.
12.
// 图像填充
13.
13.
ElementById("lamp");
14.
atePattern(img,"repeat");
15.
<(0,0,150,100);
16.
ctx.fillStyle=pat;
17.
ctx.fill();
shadowBlur、shadowColor
shadowBlur 设置或返回⽤于阴影的模糊级别
shadowColor 设置或返回⽤于阴影的颜⾊
注释:
1.
请将 shadowColor 属性与 shadowBlur 属性⼀起使⽤,来创建阴影。
2.
请通过使⽤ shadowOffsetX 和 shadowOffsetY 属性来调节阴影效果。
1.
ctx.shadowBlur=20;
2.
ctx.shadowColor="black";
3.
ctx.fillStyle="blue";
4.
ctx.fillRect(20,20,100,80);
createLinearGradient()、createRadialGradient()
注释:addColorStop(stop,color)⽅法与 createLinearGradient()或 createRadialGradient()⼀起使⽤。
注释:addColorStop(stop,color)⽅法与 createLinearGradient()或 createRadialGradient()⼀起使⽤。
1.
varmy_ateLinearGradient(0,0,0,170);
2.
my_gradient.addColorStop(0,"black");
3.
my_gradient.addColorStop(0.5,"red");
4.
my_gradient.addColorStop(1,"white");
5.
ctx.fillStyle=my_gradient;
6.
ctx.fillRect(20,20,150,100);svg canvas
1.
ateRadialGradient(75,50,5,90,60,100);
2.
grd.addColorStop(0,"red");
3.
grd.addColorStop(1,"white");
4.
ctx.fillStyle=grd;
5.
ctx.fillRect(10,10,150,100);
1.
ElementById("lamp");
2.
atePattern(img,"repeat");
3.
<(0,0,150,100);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。