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
,right
orcenter
. 默认值是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 国际许可协议进行许可