图像文本
5:图像
ctx.drawImage(img,x,y,w,h)
:在canvas中引入图片一定在图片加载完成之后再去操作
//飞鸟动画
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> *{ margin: 0; padding: 0; } html,body{ height: 100%; overflow: hidden; } body{ background: white; } #test{ background: white; position: absolute; left: 0; top: 0; right: 0; bottom: 0; margin: auto; } </style> </head> <body> <canvas id="test" width="300" height="300"> <span>您的浏览器不支持画布元素 请您换成萌萌的谷歌</span> </canvas> </body> <script type="text/javascript"> window.onload=function(){ //querySelector身上有坑 //拿到画布 var canvas = document.querySelector("#test"); if(canvas.getContext){ var ctx = canvas.getContext("2d"); var flag = 0 ;//图片递增 var positon = 0;//图片的偏移量 //画布全屏 canvas.width = document.documentElement.clientWidth; canvas.height= document.documentElement.clientHeight; //首先需要创建一个图片对象 setInterval(function(){ //定时器,取图片 positon+=10; ctx.clearRect(0,0,canvas.width,canvas.height); flag++; if(flag == 9) { flag = 1; } var img = new Image(); img.src = "img/q_r"+(flag)+".jpg"; img.onload = function(){ draw(this); } },1000/9) function draw(img){ ctx.drawImage(img,positon,0,img.width,img.height); } } } </script> </html>
6:文本:
###在canvas中绘制文本
canvas 提供了两种方法来渲染文本:
fillText(text, x, y)
在指定的(x,y)位置填充指定的文本
strokeText(text, x, y)
在指定的(x,y)位置绘制文本边框
###文本样式
font = value
当前我们用来绘制文本的样式. 这个字符串使用和 CSS font 属性相同的语法.
默认的字体是 10px sans-serif。
font属性在指定时,必须要有大小和字体 缺一不可
textAlign = value
文本对齐选项. 可选的值包括: left, right center.
left
文本左对齐。
right
文本右对齐。
center
文本居中对齐。
这里的textAlign="center"比较特殊。textAlign的值为center时候
文本的居中是基于你在fillText的时候所给的x的值,
也就是说文本一半在x的左边,一半在x的右边
textBaseline = value
描述绘制文本时,当前文本基线的属性。
top
文本基线在文本块的顶部。
middle
文本基线在文本块的中间。
bottom
文本基线在文本块的底部。
###measureText
measureText() 方法返回一个 TextMetrics 对象,包含关于文本尺寸的信息(例如文本的宽度)
###canvas中文本水平垂直居中
var ctx = canvas.getContext("2d");
ctx.fillStyle = "forestgreen";
ctx.font = "40px l"
ctx.textBaseline = 'middle';
var textwidth = ctx.measureText("叼毛兽");
var w = (canvas.width - textwidth.width )/2;
var h = (canvas.height - 40)/2;
ctx.fillText("叼毛兽",w,h); //字体偏移量位置的确定
###阴影(文本阴影&盒模型阴影)
shadowOffsetX = float
shadowOffsetX 和 shadowOffsetY 用来设定阴影在 X 和 Y 轴的延伸距离,
它们默认都为 0。
shadowOffsetY = float
shadowOffsetX 和 shadowOffsetY 用来设定阴影在 X 和 Y 轴的延伸距离,
它们默认都为 0。
shadowBlur = float
shadowBlur 用于设定阴影的模糊程度,其数值并不跟像素数量挂钩,也不受变换矩阵的影响,默认为 0。
shadowColor = color(必需项)
shadowColor 是标准的 CSS 颜色值,用于设定阴影颜色效果,默认是全透明的黑色。