Canvas 操作----线条操作、文本操作

223 阅读3分钟

线条操作

属性说明
lineWidth定义线条宽度
lineCap定义线帽样式
lineJoin定义两个线条交接处样式
方法说明
setLineDash()定义线条的虚实样式

lineWidth属性----定义线条宽度

  1. 属性取值为整数,单位默认为px
  2. Canvas是基于状态来绘制图形的,在同一路径中,状态会一直被使用,我们可以使用beginPath和closePath来开辟和关闭一条路径
  3. 假设对于绘制的矩形设置了lineWidth属性,则矩形的宽度为:width+lineWidth,高度为:height+lineWidth

lineCap属性----定义线帽样式

  1. lineCap属性的取值只有三个
属性值说明
Butt默认值,无线帽
Round圆形线帽
Square正方形线帽
  1. 圆形线帽和正方形线帽会使线条稍微变长,因为他们给线条增加了线帽部分
  2. 圆形线帽是在每条线的开始和结尾处都增加一个半圆,半圆的直径为线宽 正方形线帽是在每条线的开始和结尾处都增加一个长方形,长方形的宽度为线宽的一半,高度保持线宽
  3. lineCap属性只对路径的开始和结尾起作用,线条与线条交接处的样式需要lineJoin属性

lineJoin属性----定义两个线条交接处样式

  1. lineJoin属性取值如下
属性值说明
miter默认值,尖角
round圆角
bevel斜角
  1. 三种取值的样式

1.png

setLineDash方法----定义线条的虚实样式

  1. ctx.setLineDash(array),参数是一个数组组合
  2. 方法参数含义

2.png

数组组合说明
10,510px实线,5px空白
10,5,5,510px实线,5px空白,5px实线,5px空白
  1. IE不支持

文本操作

属性说明
font定义文本字体样式(大小、粗细等)
textAlign定义文本水平对齐方式
textBaseline定义文本垂直对齐方式
fillStyle定义画笔填充路径的颜色
strokeStyle定义画笔描边路径的颜色
方法说明
fillText()绘制填充文本
strokeText()绘制描边文本
measureText()用于获取文本的长度
  1. fillStyle属性都是与fillText()方法配合使用的,用于绘制填充文本
  2. strokeStyle属性都是与strokeText()方法配合使用的,用于绘制描边文本

文本操作方法

strokeText(text,x,y,maxWidth)

  1. 参数含义说明: text:字符串文本 x:文本的横坐标 y:文本的纵坐标 maxWidth:可选参数,表示允许的最大文本宽度,单位px,文本宽度超出会被压缩

fillText(text,x,y,maxWidth),参数含义同上

measureText()

  1. 该方法返回一个对象,这个对象有且只有一个width属性,用于获取某个文本的长度,单位px
  2. 这个属性一般用来实现文本水平居中效果

文本操作属性

font属性

ctx.font = 'font-style font-weight font-size/font-height font-family'

textAlign属性:定义文本水平对齐方式

属性值说明
start文本在指定的横坐标开始
end文本在指定的横坐标结束
left文本左对齐
right文本右对齐
center文本的中心在指定的横坐标

区分start-left和end–right

与阅读习惯相关,left-right亘古不变,但是从左到右阅读,start是左边,end是右边,如果从右向左阅读,start是右边,end是左边

textBaseLine属性:定义文本垂直对齐方式

属性值说明
alphabetic文本基线:普通英文字母的基线
top文本基线:em方框的顶端
middle文本基线:em方框的中心
bottom文本基线:em方框的底端