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. C# 根据Word模版生成Word文件

    指定的word模版 2,生成word类 添加com Microsoft word 11.0 Object Library 引用 using System; using System.Collectio ...

  2. 嵌入式开发软件环境:uboot、kernel、rootfs、data布局分析

    uboot+linux的整体方案 开发板的datasheet中都有详细的地址空间的划分,其中比较重要的两块是:DDR地址空间和Flash地址空间.DDR空间是系统和应用的运行空间,一般由linux系统 ...

  3. ACM位运算技巧

    ACM位运算技巧 位运算应用口位运算应用口诀位运算应用口诀 清零取反要用与,某位置一可用或 若要取反和交换,轻轻松松用异或 移位运算 要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形. ...

  4. Microsoft SQL Server Data Tools - Business Intelligence for Visual Studio 2013 http://www.microsoft.com/en-us/download/details.aspx?id=42313

    Microsoft SQL Server Data Tools - Business Intelligence for Visual Studio 2013 http://www.microsoft. ...

  5. 使用WIF实现单点登录Part II —— Windows Identity Foundation基本原理 -摘自网络

    在上一篇文章中,我们已经使用WIF构建了一个基于MVC4的简单的身份验证程序,在这篇文章里,我们将探讨一下到底什么是WIF,以及它的工作原理.然后在下一篇文章开始,我们将实际操作,实现单点登录功能. ...

  6. SecureCRT中文乱码解决方法

    在windows下使用SecureCRT访问MAC主机,发现中文总是乱码.而且默认会话选项设置的字符编码就是UTF-8,和MAC主机默认字符编码一样. 后来通过设置,解决了中文乱码问题. 具体使用了两 ...

  7. HDU 5464 ( Clarke and problem ) (dp)

    dp[i][j] := 前i个数和为j的情况(mod p) dp[i][j] 分两种情况 1.不选取第i个数 -> dp[i][j] = dp[i-1][j] 2.   选取第i个数 -> ...

  8. 问题-Delphi记忆工程打开的单元(XE2设置项)

    问题情况:每次在delphi中打开了N个单元的窗口,关闭delphi后,第二天还得一个一个打开单元窗口.问题原因:这是因为delphi的记忆功能未打开.问题处理:Tools->Options.. ...

  9. 联通超级战舰W910 Root 后不能 上网 解决方案

    联通版的超级战舰w910root后不能上网,一下是root方法: 超级战舰W910 Root方法: 电脑上安装“刷机精灵”(http://www.shuame.com/ ),在手机“菜单”——“系统设 ...

  10. 【Hibernate】--一对一关联、联合主键

    一.数据模型 1.学生信息模型(编号.名称.身份信息) public class Student implements java.io.Serializable{ private static fin ...