1.从线条开始

HTML
<canvas id="canvas"></canvas>
Javascript
var canvas=document.getElementById("canvas");
var context=canvas.getContext("2d")      
  • canvas.width
  • canvas.height
  • canvas.getContext("3d")
 
 
moveTo(x,y)
lineTo(x,y)
 
beginPath()
closePath()
 
lineWidth
strokeStyle
fileStyle
 
fill()
stroke()
 
绘制矩形
rect(x,y,width,height)
 
fillRect(x,y,width,height)
strokeRect(x,y,width,height)
 
2.线条属性

  • lineWidth
  • lineCap = "but" (default)
                        "round"
                        "square"
  • lineJion = "miter"(default)
                        "bevel"
                        "round"
  • miterLimit
3.星空和图片变换

save()
restore()
 
translate(x,y)
retate(deg)
scale(sx,sy)
 
transform(a,b,c,d,e,f)
setTransform(a,b,c,d,e,f)
 
4.渐变色和纹理

fillStyle = color                         fillStyle = color                                                         
               gradient                                   #ffffff
               image                                      #642
               canvas                                    reb(255,128,0)              
               video                                       reba(100,100,100,0.8)
                                                               hsl(20,62%,28%)
                                                               hsla(40,82%,33%,0.6)
                                                                red
 
 
fillStyle = gradient   
var gra=context.creatLineatGradient(xstart,ystart,xend,yend)
 
Radial Gradient
var gra=context.creatRadialGradient(x0,y0,r0,x1,y1,r1)
 
gra.addColorStop(stop,color)
 
 
fillStyle = image || canvas || video
createPattern(img,       repeat-style)
createPattern(canvas, repeat-style)
createPattern(video,    repeat-style)
 
repeat-style : no-repeat
                      repeat-x
                      repeat-y
                      repeat
 
strokeStyle 也同样有以上所有特性
 
5.曲线的绘制

 
context.arc(centerx,centery,radius,startingAngle.endingAngle,anticlockwise = false)
 
content.arcTo(x1,y1,x2,y2,redius)
 
贝塞尔曲线
context.quadraticCurveTo(x1,y1,x2,y2)
 
context.bezeirCurveTo(x1,y1,x2,y2,x3,y3)
 
6.文字渲染

context.font="bold 40px Arial "
 
context.fillText(string,x,y,[maxlen])
 
context.strokeText(string ,x,y,[maxlen])
 
font:  默认值 “20px sans-serif”
         context.font=  font-style font-variant font-weight  font-sie font-family
 
context.textAlign=
left || center || right  
水平方向https://app.yinxiang.com/Home.action#b=193344e8-df83-482a-adb0-
e7a9cfe48751&st=p&n=8846726d-9006-4772-9e7f-68800fe0d3b0
context.textBaseline= top || middle || bottom || alphabetic(default) || ideographic || hanging  垂直方向
 
context.measureText(string).width  (文本度量)
 
7Canvas高级内容

context.shadowColor 
context.shadowOffsetX
context.shadowOffsetY
context.shadowBlur
 
globalAlpha  全局透明度
globleCompositeOperation (11中赋值)
 
context.clip()  探照定效果
 
非零环绕原则  (同心圆)
 
context.isPointInPath(x,y)
 
 
 
 
8.canvas标准

w3c
http://www.w3.org/TR/2dcontext/
 
WHATWG
 
convas.context 扩展
CanvasRenderingContext2D.prototype.fillStart = function(){

}//自己定义context函数

 
canvas 兼容性
canvas 兼容ie 6,7,8
 
<!--[if IE]><script type="text/javascript" src="excanvas.js"></script><![endif]-->

//github中有解释 https://github.com/arv/ExplorerCanvas

canvas图形库

canvasplus   https://code.google.com/p/canvasplus

Artisan JS   http://artisanjs.com

Rgraph       https://roopons.com.au/wp-content/plugins/viral-options/rgraph

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Canvas 笔记(持续更新中)的更多相关文章

  1. react-navigation 使用笔记 持续更新中

    目录 基本使用(此处基本使用仅针对导航头部而言,不包含tabbar等) header怎么和app中通信呢? React-Navigation是目前React-Native官方推荐的导航组件,代替了原用 ...

  2. GOF 的23种JAVA常用设计模式 学习笔记 持续更新中。。。。

    前言: 设计模式,前人总结下留给后人更好的设计程序,为我们的程序代码提供一种思想与认知,如何去更好的写出优雅的代码,23种设计模式,是时候需要掌握它了. 1.工厂模式 大白话:比如你需要一辆汽车,你无 ...

  3. BLE资料应用笔记 -- 持续更新

    BLE资料应用笔记 -- 持续更新 BLE 应用笔记 小书匠 简而言之,蓝牙无处不在,易于使用,低耗能和低使用成本.'让我们'更深入地探索这些方面吧. 蓝牙无处不在-,您可以在几乎每一台电话.笔记本电 ...

  4. 痞子衡嵌入式:史上最强i.MX RT学习资源汇总(持续更新中...)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MX RT学习资源. 类别 资源 简介 官方汇总 i.MXRT产品主页 恩智浦官方i.MXRT产品主页,最权威的资料都在这里,参考手 ...

  5. 微信小程序练习笔记(更新中。。。)

    微信小程序练习笔记 微信小程序的练习笔记,用来整理思路的,文档持续更新中... 案例一:实现行的删除和增加操作  test.js // 当我们在特定方法中创建对象或者定义变量给与初始值的时候,它是局部 ...

  6. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  7. Atom使用记录(持续更新中)

    部分内容取自:http://www.jianshu.com/p/dd97cbb3c22d,我自己也在使用,持续更新中 Atom安装插件在窗口中File---Setting---install 在里面进 ...

  8. Pig基础学习【持续更新中】

    *本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.* Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的,可以作为MapR ...

  9. Pig语言基础-【持续更新中】

      ***本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.***   Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的, ...

  10. java视频教程 Java自学视频整理(持续更新中...)

    视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...

随机推荐

  1. zz-rtl8188eu的linux-usb-wifi调试及驱动编译150210

    //zz//####################################################################### zz-rtl8188eu的linux-usb ...

  2. [Stephen]自定义SimpleAdapter

    作者:AngelDevil 出处:www.cnblogs.com/angeldevil 先看一下构造函数: public SimpleAdapter (Context context, List< ...

  3. C#调用VC dll输出参数

    最近做项目需要把以前Vc写的程序整合到VS2005来,用c#写的,以前VC的动态连接库写好了,重写比较麻烦,让C#调用VC dll就好了.但碰到了一个问题:VC中作为输出参数的char*类型的变量应该 ...

  4. Esper系列(二)时间窗口、长度窗口、cast、注解、自定义函数、静态方法

    长度窗口实现原理图 说明: 上图长度窗口为5,事件W1至W5进入引擎后属于NewEvents队列,事件W6进入引擎后,W2至W6就属于NewEvents队列,而事件W1就属于OldEvents队列了. ...

  5. [JSOI2008]星球大战

    正向进行很显然很BT, 所以逆向离线此题是个不错的选择. 使用并查集统计劫难之后的联通状态, 然后逐个添加结点即可. #include <stdio.h> #include <std ...

  6. Java-Web监听器

    在WEB端实现监听实质: 实现一系列的监听接口(实现相应的接口,覆写各接口中相应的方法,在相应的事件触发的时候会执行自己的监听器中的覆写的方法,在各个方法中完成自己想要的操作,从而实现了监听) 监听- ...

  7. C# webkit.net的简单使用

      webkit.net 0.5下载地址https://sourceforge.net/projects/webkitdotnet/files/WebKit%20.NET%200.x/0.5/WebK ...

  8. 【02】尽量以const,enum,inline替换#define

    1.考虑为什么? 首先,#define不是语言的一部分,而是预编译过程.也就是在编译器编译之前,进行文本替换.考虑#define Pi 3.1425:在编译之前,Pi都会被文本替换为3.1415,因此 ...

  9. Java凝视Override、Deprecated、SuppressWarnings具体解释

    一.什么是凝视     说起凝视,得先提一提什么是元数据(metadata).所谓元数据就是数据的数据.也就是说,元数据是描写叙述数据的.就象数据表中的字段一样,每一个字段描写叙述了这个字段下的数据的 ...

  10. lscpu lsblk lsscsi lspci

    [root@server1 ~]# lscpu Architecture: x86_64 CPU op-mode(s): -bit, -bit Byte Order: Little Endian CP ...