createPattern() 是 Canvas 2D API 使用指定的图像 (CanvasImageSource)创建模式的方法。 它通过repetition参数在指定的方向上重复元图像。此方法返回一个CanvasPattern对象。 CanvasPattern ctx.createPattern(image, repetition);
在水平和垂直方向重复图像:
JavaScript:
<!DOCTYPE html> <html> <head> <title>HTML canvas createPattern()方法的使用(基础教程网 nhooo.com)</title> </head> <body> <p>图片应用:</p> <img src="haha.gif" id="lamp"> <p>画布:</p> <button onclick="draw('repeat')">重复</button> <button onclick="draw('repeat-x')">重复-x</button> <button onclick="draw('repeat-y')">重复-y</button> <button onclick="draw('no-repeat')">不重复</button> <canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;"> 您的浏览器不支持 HTML5 canvas 标签。 </canvas> <script> function draw(direction) { var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.clearRect(0,0,c.width,c.height); var img=document.getElementById("lamp") var pat=ctx.createPattern(img,direction); ctx.rect(0,0,220,128); ctx.fillStyle=pat; ctx.fill(); } </script> </body> </html>测试看看 ‹/›
IEFirefoxOperaChromeSafari
Internet Explorer 9、Firefox、Opera、Chrome 和 Safari 支持 createPattern() 方法。
注意:Internet Explorer 8 及之前的版本不支持 <canvas> 元素。
createPattern()方法沿指定方向重复指定的元素。
该元素可以是图像,视频或另一个<canvas>元素。
重复元素可用于绘制/填充矩形,圆形,直线等。
JavaScript 语法: | context.createPattern(image,"repeat|repeat-x|repeat-y|no-repeat"); |
---|
参数 | 描述 | |
---|---|---|
image | 规定要使用的模式的图片、画布或视频元素。 | |
repeat | 默认。该模式在水平和垂直方向重复。 | |
repeat-x | 该模式只在水平方向重复。 | |
repeat-y | 该模式只在垂直方向重复。 | |
no-repeat | 该模式只显示一次(不重复)。 |