Canvas笔记

getContext('2d')
moveTo()
lineTo()
lineWidth()
strokeStyle()
stroke()
beginPath()
closePath()
fillStyle
fill()
rect(x,y,width,height)
fillRect()
strokeRect()
lineCap() butt,round,square
lineJoin() mite,bevel,round
miterLimit()
位移translate(x,y)
旋转rotate(deg)
缩放scale(sx,sy)
save()
restore()
transform(a,b,c,d,e,f)
setTransform()

线性渐变

fillStyle__填充样式(样式是多种多样的);
var linearGrad =context.createLinearGradient(Xstar,Ystar,Xend,Yend);
创建线性渐变(起始位置X,Y,结束位置X,Y);
grd.addColorStop(stop,color);
stop是(开始填充)位置(0.0~1.0的数值),color是要填充的颜色;这个.addColorStop()至少要2个;
context.fillStyle = linearGrad;

径向渐变

var grd = context.createRadialGradient( x0, y0, r0, x1, y1, r1 );
grd.addColorStop( stop, color );

填充

createPattern(img,repeat-style);图片填充
createPattern( canvas, repeat-style );画布填充
createPattern( vedio, repeat-style );视频背景填充
repeat-style:

  • no-repeat
  • repeat-x
  • repeat-y
  • repeat

曲线

arc(x,y,r,startAngle,endAngle,false) 最后一个参数为是否逆时针
arcTo(x1,y1,x2,y2,radius) (x0,y0),(x1,y1)和(x1,y1),(x2,y2)两条线相切的圆弧
quadraticCurveTo(x1,y1,x2,y2) 二次贝赛尔曲线
bezierCurveTo(x1,y1,x2,y2,x3,y3)三次贝赛尔曲线

文字

context.font = "bold 40px Arial"
fillText(string,x,y,[maxlength])
strokeText()
textAlign() 水平对齐
textBaseline() 垂直对齐

阴影

shadowColor
shadowOffsetX
shadowOffsetY
shadowBlur

剪辑

clip()

剪纸效果

非零环绕原则判断里外

其他

global:globalAlpha,globalCompositeOperation
clearRect()
获取鼠标相对于canvas画布的位置

var x = event.clientX - canvas.getBoundingClientRect().left;
var y = event.clientY - canvas.getBoundingClientRect().top;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一:canvas简介 1.1什么是canvas? ①:canvas是HTML5提供的一种新标签 ②:HTML5 ...
    GreenHand1阅读 4,707评论 2 32
  • 一、canvas简介 1.1 什么是canvas?(了解) 是HTML5提供的一种新标签 Canvas是一个矩形区...
    Looog阅读 3,951评论 3 40
  • 一、canvas简介 1.1 什么是canvas?(了解) 是HTML5提供的一种新标签 Canvas是一个矩形区...
    J_L_L阅读 1,544评论 0 4
  • 熟悉html5的程序员们肯定都知道 元素,该元素是用来在页面中规定一块区域,然后由js在该区域内绘制图形。canv...
    米几V阅读 2,192评论 1 5
  • 重写Context:http://www.imooc.com/video/4324/0 https://www.w...
    Mandy_jin阅读 724评论 0 0