createPattern() 是 Canvas 2D API 使用指定的圖像 (CanvasImageSource)創(chuàng)建模式的方法。 它通過repetition參數(shù)在指定的方向上重復(fù)元圖像。此方法返回一個CanvasPattern對象。 CanvasPattern ctx.createPattern(image, repetition);

在水平和垂直方向重復(fù)圖像:
JavaScript:
<!DOCTYPE html>
<html>
<head>
<title>HTML canvas createPattern()方法的使用(菜鳥教程 cainiaoplus.com)</title>
</head>
<body>
<p>圖片應(yīng)用:</p>
<img src="haha.gif" id="lamp">
<p>畫布:</p>
<button onclick="draw('repeat')">重復(fù)</button>
<button onclick="draw('repeat-x')">重復(fù)-x</button>
<button onclick="draw('repeat-y')">重復(fù)-y</button>
<button onclick="draw('no-repeat')">不重復(fù)</button>
<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
您的瀏覽器不支持 HTML5 canvas 標(biāo)簽。
</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()方法沿指定方向重復(fù)指定的元素。
該元素可以是圖像,視頻或另一個<canvas>元素。
重復(fù)元素可用于繪制/填充矩形,圓形,直線等。
| JavaScript 語法: | context.createPattern(image,"repeat|repeat-x|repeat-y|no-repeat"); |
|---|
| 參數(shù) | 描述 | |
|---|---|---|
| image | 規(guī)定要使用的模式的圖片、畫布或視頻元素。 | |
| repeat | 默認(rèn)。該模式在水平和垂直方向重復(fù)。 | |
| repeat-x | 該模式只在水平方向重復(fù)。 | |
| repeat-y | 該模式只在垂直方向重復(fù)。 | |
| no-repeat | 該模式只顯示一次(不重復(fù))。 |