下面讲解如何在canvas中绘画文字。绘画文字有如下方法:
font [ = value ] 设置字体,跟CSS中设置字体一样
textAlign [ = value ] 设置文字的位置方向,可以设置为start, end, left, right, 和center
textBaseline [ = value ] 文字竖直对齐方式。可取属性值:top, hanging, middle,alphabetic, ideographic,更详细的关于textBaseline属性介绍,请参考这里。
fillText(text, x, y [, maxWidth ] ) 在指定的坐标上填充文字
strokeText(text, x, y [, maxWidth ] ) –在指定的坐标上用勾画文字
下面是一个例子:
context.font = ’24px “Tahoma”‘;
context.fillText(“Hello World!”, 0, 0);
context.fillText(“Hello World!”, 0, 0);
结果为:
▲
如果要绘制透明的话,可以这样通过fillStyle指定
context.fillStyle = “rgba(0, 0, 0, 0.2)”;
下图是效果
▲
假如要在加点阴影效果的话也是十分容易的,可以使用shadow对象即可:
context.shadowOffsetX = 5;
context.shadowOffsetY = 5;
context.shadowBlur = 5;
context.shadowColor = “rgba(0, 0, 0, 1)”;
context.shadowOffsetY = 5;
context.shadowBlur = 5;
context.shadowColor = “rgba(0, 0, 0, 1)”;
▲
图片和视频
下面介绍下如何在canvas中绘制图片和处理视频相关。一个问题是为什么不用传统的<img>标签呢?原因是如果结合canvas使用的话,可以充分利用canvas各类API的强大功能做出很眩的效果。下面是在canvas画布上,直接把一张图片绘画在上面了,使用的是drawImage方法:
var image = document.getElementById(“mySheep”);
context.drawImage(image, 10, 10, 128, 128);
context.drawImage(image, 10, 10, 128, 128);
▲
一旦图片跟canvas结合了,就可以做各类的动画变换等效果了。