基础特点
特性
- html5新增canvas标签用于绘制图像,通过脚本绘制图像
- canvas仅仅是图形容器,没有绘图功能
- 可以绘制路径、矩形、圆、文本等
两种绘图方式
两种样式
颜色fillStyle strokeStyle 【颜色、渐变或模式】
阴影设置shadowColor shadowBlur shadowOffsetX shadowOffsetY
lineGap 设置或返回线条的结束端点样式 属性值有butt平直边缘、round圆角、square矩形圆角
lineJoin 设置或返回两条线相交时,所创建的拐角类型 属性值 bevel斜角 round圆角 miter尖角
lineWidth 设置或返回当前线条宽度
miterLimit 设置或返回最大斜接长度
对象
var x = document.getElementById
var x = document.createElement('CANVAS')
- 2.context对象,提供了用于在画布上绘图的属性和方法
var ctx = x.getContext('2d')
两种创建方法createLinearGradient和createRadialGradient
规定渐变对象中颜色和停止位置addColorStop, 第一个参数介于0到1之间
createPattern 在指定方向上重复指定元素
参数
元素可以是图片、视频或其他canvas元素
重复 repeat repeat-x repeat-y no-repeat
构成的元素可以是strokeStyle或fillStyle属性,用来填充线条、矩形、圆形等
绘制图形方法
矩形
-
- rect 创建矩形,但没绘制 ,需要fill或stroke实际绘制 x y width height
-
- fillRect 绘制被填充的矩形
-
- strokeRect 绘制矩形框
-
- clearRect 在给定的矩形内清除指定的像素
路径
-
- fill 填充图形或路径绘制的图形,没闭合则强制闭合,用当前的fillStyle填充
-
- stroke 绘制通过moveTo和lineTo定义的路径,用当前的strokeStyle属性绘制
-
- beginPath 开始新路径
-
- moveTo 移动起始点
-
- closePath 关闭路径
-
- lineTo 路径点
-
- clip 剪切
-
- quadraticCurveTo
-
- bezierCurveTo
-
- arc 创建弧线 x,y,r,sAngle,eAngle,counterclockwise
-
- arcTo 创建两切线之间的弧线
- 上一个路径点和第一个控制点构成切线1
- 第一个控制点和第二个控制点构成切线2
- 两个切线求相切的弧
-
- isPointInPath 判断点是否在当前路径中
文本
-
- font 字体属性
-
- textAlign 对齐方式
- start 文本在指定位置开始
- end 文本在指定位置结束
- center 文本中心在指定位置
- left 左对齐
- right 右对齐
-
- textBaseline 文本基线
- alphabetic
- top 文本基线是 em 方框的顶端。
- hanging 文本基线是悬挂基线。
- middle 文本基线是 em 方框的正中。
- ideographic 文本基线是表意基线。
- bottom 文本基线是 em 方框的底端。
-
- fillText 填充绘制字体
-
- strokeText 镂空绘制字体
-
- measureText 返回指定文本宽度的对象
图像绘制
像素
-
- width 返回imageData对象的宽度
-
- height 返回imageData对象的高度
-
- data 返回一个对象 ,其包含指定的ImageData对象的图像数据
-
- createImageData 创建新的空白的ImageData对象
-
- getImageData 返回imageData对象,该对象为画布上指定的矩形复制像素数据
-
- putImageData处理把图像数据从指定的imageData对象放回画布上
合成
-
- globalAlpha 设置或返回绘图的当前alpha或透明纸
-
- globalCompositeOperation 设置或返回新图像如何绘制到已有的图像上
转换
-
- scale 缩放当前绘图最大或最小
-
- rotate 旋转
-
- translate 重新映射
-
- transform 替换绘图的当前矩阵
-
- setTransform 将当前转换重置为单位矩阵,然后运行transform
其他
-
- save 保存
-
- restore 重置
-
- createEvent
-
- getContext
-
- toDataURL