createPattern() 是 Canvas 2D API 使用指定的图像 (CanvasImageSource)创建模式的方法。 它通过repetition参数在指定的方向上重复元图像。此方法返回一个CanvasPattern对象。 CanvasPattern ctx.createPattern(image, repetition);

在水平和垂直方向重复图像:
JavaScript:
<!DOCTYPE html>
<html>
<head>
<title>HTML canvas createPattern()方法的使用(菜鸟教程 cainiaoplus.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 | 该模式只显示一次(不重复)。 |