Canvas文本和图片处理
canvas提供了对文字和图片操作的接口,可以方便我们对文字或图片进行处理。
文字
canvas文字操作和CSS操作文字一样可以设定文字的大小,字体,和文字间对齐方式。
- fillText(text, x, y [, maxWidth])在指定的(x,y)位置填充指定的文本,绘制的最大宽度是可选的.
- strokeText(text, x, y [, maxWidth])在指定的(x,y)位置绘制文本边框,绘制的最大宽度是可选的
| 1 | var canvas = document.getElementById("canvas"); | 

-  font = value当前我们用来绘制文本的样式. 这个字符串使用和 CSSfont属性相同的语法. 默认的字体是10px sans-serif。
-  textAlign = value文本对齐选项. 可选的值包括:start,end,left,rightorcenter. 默认值是start。
-  textBaseline = value基线对齐选项. 可选的值包括:top,hanging,middle,alphabetic,ideographic,bottom。默认值是alphabetic。
-  direction = value文本方向。可能的值包括:ltr,rtl,inherit。默认值是inherit。


图片
canvas可以对图像进行操作(缩放,截取等),还能将canvas内容导出成图片。
canvas 处理图像分为两步:
- 获得一个 - HTMLImageElement的对象或者另一个canvas元素的引用作为图片源,也可以通过提供一个URL的方式来使用图片
- 使用 - drawImage()或- createPattern()函数将图片绘制到画布上- drawImage第一个参数应该是图片源,它的类型可以是:- HTMLImageElement、- HTMLVideoElement、- HTMLCanvasElement、- ImageBitmap
| 1 | function draw() { | 
drawImage有三种调用方式:
- drawImage(image, dx, dy)图片的正常渲染- image绘制到上下文的元素
- dx目标画布的左上角在目标canvas上 X 轴的位置
- dy目标画布的左上角在目标canvas上 Y 轴的位置
 
- drawImage(image, dx, dy, dWidth, dHeight)用于图片的缩放- dWidth在目标画布上绘制图像的宽度。 允许对绘制的图像进行缩放。 如果不说明, 在绘制时图片宽度不会缩放
- dHeight在目标画布上绘制图像的高度。 允许对绘制的图像进行缩放。 如果不说明, 在绘制时图片高度不会缩放
 
- drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight)可以用于图片的截取显示- sWidth需要绘制到目标上下文中的,源图像的矩形选择框的宽度。如果不说明,整个矩形从坐标的sx和sy开始,到图像的右下角结束
- sHeight需要绘制到目标上下文中的,源图像的矩形选择框的高度
 
| 1 | <canvas id="canvas"></canvas> | 
| 1 | var canvas = document.getElementById("canvas"); | 
作者: Fynn
本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可