Canvas 练习及学习笔记

2016-11-02

在MOOC上 学习了关于 Canvas 的教程 受益匪浅

先上练习的demo

本人用的是 Chorme

暂时没有考虑兼容性问题

1 时钟 https://fanyear.github.io/Canvas/Clock/index.html

2 (放大镜)鼠标左键   https://fanyear.github.io/Canvas/Magnifier/index.html

3 缩放图像  https://fanyear.github.io/Canvas/ScaleImage/index.html

4 星星动画闪烁https://fanyear.github.io/Canvas/StarTwinkling/index.html

5 炫酷计时动画效果 https://fanyear.github.io/Canvas/Timer/index.html

推荐MOOC 教程   http://www.imooc.com/u/108955/courses?sort=publish (一系列教程 讲得很好 有条理)

http://www.imooc.com/learn/338(星星闪烁教程)

一下是我的学习笔记,更多是为了自己忘了的时候可以回来看看:

HTML

  

1 <canvas id="canvas">
2     Your browser doesn‘t support Canvas    // 当浏览器不支持Canvas 的时候 才会显示
3 </canvas>

JavaScript

 1 var canvas = document.getElementById("canvas");
 2 var context = canvas.getContext("2d");
 3
 4 // canvas  基于状态
 5
 6 context.moveTo(100,100)      // 起点
 7 context.lineTo(200,200)        //可直接使用 若没有moveTo
 8
 9 context.fill()        //绘制
10 context.stroke()
11
12 context.lineWidth = 6
13 context.strokeStyle = "red"
14 context.fillStyle = "blue"
15
16 / * 有多种颜色表示方法  #bbb #123456 rgb(1,2,3) rgba(1,2,3,0.6) hsl(20,50%,28%) hsla(40,80%,20%,0.5)  */
 1 canvas.width = 800
 2 canvas.height = 500         //建议用js设置
 3
 4 //Draw more lines
 5
 6 context.beginPath()
 7
 8 context.closePath()  // 会闭合路径
 9
10 //Draw a Rectangle
11
12 context.rect(x,y,width,height)      //路径
13
14 context.fillRect(x,y,width,height)
15 context.strokeRect(x,y,width,height)     //直接绘制
16
17 //例子
18
19 context.moveTo(100,200)
20 context.lineTo(300,200)
21 context.strokeStyle = "red"
22 context.stroke()
23
24
25 context.moveTo(400,500)
26 context.lineTo(500,500)
27 context.strokeStyle = "blue"
28 context.stroke()
29
30 //结果都为蓝色 应在两段代码之间加上 context.beginPath()
31
32
33
34 // 一般都是先填充 后描边
35
36 lineCap   // butt(default)  round  square
37 lineJoin    //miter(default)  bevel round
38 miterLimit    //有个默认值
39
40 //图形转换
41
42 translate(x,y)      // 位移  效果会叠加 (所以要用到 save() restore())
43 rotate(deg)            //旋转
44 scale(x,y)        //会改变其他属性
45
46 //变化矩阵
47
48 transform(a,b,c,d,e,f)  //级联
49
50 setTransform(a,b,c,d,e,f)     //不级联
51
52 a     //水平缩放
53 b      //水平倾斜
54 c        //垂直倾斜
55 d        //垂直缩放
56 e        //水平位移
57 f        //垂直位移
58
59 //填充样式
60
61 //Steo 1
62  var grd1 = context.createLinearGradient(xstart,ystart,xend,yend)
63  var grd2 = context.createRadialGradient(x0,y0,r0,x1,y1,r1)
64
65 //Step 2
66 grd1.addColorStop(stop,color)
67 grd2.addColorStop(stop,colot)
68 .
69 .
70 .
71
72 //Step 3
73 context.fillStyle = grd1
74 context.fillStyle = grd2
75
76
77
78 // Pattern
79 var pat = context.craetePattern(img,repeat-style)     //img 还可以是 video canvas
80                                                              //repeat-style 有 no-repeat repeat-x repeat-y repeat
81 context.fillStyle = pat
82
83 //记得加上路径
时间: 2024-10-11 15:50:28

Canvas 练习及学习笔记的相关文章

Canvas 练习及学习笔记 (二)

2016-11-06 Canvas练习及学习笔记第二篇 首先,以下还是我学习了Canvas基础后的一些小练习,源代码大家可以访问我的Github: https://github.com/fanyear 时钟 https://fanyear.github.io/Canvas/Clock/index.html (放大镜)鼠标左键   https://fanyear.github.io/Canvas/Magnifier/index.html 缩放图像  https://fanyear.github.i

html5 canvas 学习笔记(一)

一.canvas元素API canvas元素并未提供很多API,实际上他只提供了两个属性与三个方法: 1.canvas元素属性 width 属性:与 height 属性: canvas元素绘图表面的宽度,在默认状况下,浏览器会将canvas元素大小设定成与绘图表面大小一致,然而如果在css中覆写了元素大小,那么浏览器则会将绘图表面进行缩放,使之符合元素尺寸.其值为非负整数,默认值为300. 2.canvas元素方法 getContext()方法: 返回与该canvas元素相关的绘图环境对象,每个

HTML5 Canvas知识点学习笔记

canvas ① 主要作用:绘制矢量图 ② 矢量图图形(路径)-(ILL) 位图图像(像素点)- PS中图像都是位图 ③ Canvas 能够制作动画,但是不是为了制作动画而生的也能够制作游戏.主要为了绘图而生. ④ 能够设置宽高 推荐样式写在style:Canvas 相当于是一个绘制图形的容器,并没有绘制功能,需要借助JS(脚本)实现绘制功能. 思路: getContext( ) var context = cnvas.getContext('2d'); // 图像的绘制 // 开始      

【HTML】【学习】 Canvas学习笔记【上】

Canvas是HTML新增的开发跨平台动画和游戏的标准解决方案,能够实现对图像和视频进行像素级操作. 一.在页面中添加canvas元素 就像添加一个普通div一样,canvas的添加方式为: <canvas id = "myCanvas" width = "200px" height = "100px">不支持时显示的部分</canvas> 可以用对div添加样式的方法使用CSS对Canvas添加样式 二.使用Canvas

【HTML】【学习】 2、Canvas学习笔记【上】

Canvas是HTML新增的开发跨平台动画和游戏的标准解决方案,能够实现对图像和视频进行像素级操作. 一.在页面中添加canvas元素 就像添加一个普通div一样,canvas的添加方式为: <canvas id = "myCanvas" width = "200px" height = "100px">不支持时显示的部分</canvas> 可以用对div添加样式的方法使用CSS对Canvas添加样式 二.使用Canvas

[转载]Android Bitmap和Canvas学习笔记

http://blog.chinaunix.net/uid-20771867-id-3053339.html [转载]Android Bitmap和Canvas学习笔记,布布扣,bubuko.com

Canvas 学习笔记1

#Canvas 学习笔记1 @[Canvas,Nunn,HTML5,javascript] ##前言 相信大家多多少少都有了解过`Canvas`,这里我就不多做解释了,网上也充斥了这方面的知识,很多人看了之后,其实发现作用非常小,因为似乎这些东西什么也做不了,本着学习提升自己,造福大家,我打算把我学习`Canvas`的历程记录在这里. 首先推荐大家先看看阮一峰大大写的这个[Canvas API](http://javascript.ruanyifeng.com/htmlapi/canvas.ht

Unity3D之UGUI学习笔记(一):UGUI介绍以及Canvas

UGUI是Unity3D4.6官方提供的UI系统,支持2D和3D UI的开发. Unity3D UI史 OnGUI 在Unity4.6之前,官方提供的是OnGUI函数来开发UI界面,当然问题也比较多,首先不支持可视化开发,其次UI始终位于所有3D对象的上方,无法实现在UI上添加3D模型的效果. 现在一般这套系统多用来在Unity编辑器中开发界面或者快速搭建一些调试界面时使用. NGUI 大名鼎鼎的NGUI是可以看做是开发Unity游戏必备的插件,支持可视化开发,同时也支持2D和3D UI的开发,

canvas绘图详解笔记(一)

声明一下:这里我不会用太多文字去详解介绍canvas是什么,相信了解过canvas的人都知道它的魅力所在,如果你对canvas还比较陌生的话,建议可以查阅相关资料了解一下.这里我将对canvas绘图详解课程做一次详细的笔记,方便大家和自己日后可以学习.那么接下来就是直接进入笔记内容的学习: 首先创建一个canvas元素,我们只需要在html文件中加入这么一句代码: <canvas id="canvas">当前浏览器不支持canvas,请更换浏览器使用!</canvas