1.什么是canvas?
html5的canvas元素用于定义图形,比如图表和其他图像。
<canvas>标签只是图形容器,画图必须用到脚本。
可以通过各种方法使用canvas画路径,盒,圆,字符以及添加图像。
2.创建一个画布
画布是页面中的一个矩形框 用canvas元素来绘制。
一个页面里可以有多个canvas元素,用style属性可以添加边框等样式。
3.用js绘制图像
canvas本身是没有绘图能力的。所有的绘制必须在js里完成。
举个栗子:
首先,找到<canvas>元素
var c=document.getElementById("myCanvas");
然后,创建 context 对象:
var ctx=c.getContext("2d");
getContext("2d") 是内置的 HTML5 对象,它有多种绘制路径、矩形、圆形、字符和添加图像的方法。
下面的两行代码绘制一个红色的矩形:
ctx.fillStyle="#FF0000";
ctx.fillRect(0,0,150,75);
设置fillStyle属性可以是CSS颜色,渐变,或图案。fillStyle 默认设置是黑色。
fillRect 方法定义了矩形当前的填充方式。
canvas属性
filstyle 设置填充绘画的颜色、渐变或模式
strokestyle 设置笔触的颜色、渐变或模式
shadowcolor 设置阴影的颜色
shadowblur 设置阴影的模糊级别
shadowOffsetX 设置阴影距形状的水平距离
shadowOffsetY 设置阴影距形状的垂直距离
font 设置或返回文本内容的当前字体属性
textAlign 设置或返回文本内容的当前对齐方式
textBaseline 设置或返回在绘制文本时使用的当前文本基线
canvas 方法
createLinearGradient 创建线性渐变(用在画布内容上)
createPattern 在指定的方向上重复指定的元素
createRadialGradient 创建放射状/环形的渐变(用在画布内容上)
addColorStop 规定渐变对象中的颜色和停止位置
filtext 在画布上绘制“被填充的”文本
stroketext 在画布上绘制文本(无填充)
measuretext 返回包含指定文本宽度的对象
fill 填充当前绘图(路径)
stroke 绘制已定义的路径
beginPath 起始一条路径,或重置当前路径
moveTo 把路径移动到画布中的指定点,不创建线条
closePath 创建从当前点回到起始点的路径
lineTo 添加一个新点,然后在画布中创建从该点到最后指定点的线条
clip 从原始画布剪切任意形状和尺寸的区域
arc 创建弧/曲线(用于创建圆形或部分圆)
arcTo 创建两切线之间的弧/曲线