HTML canvas createPattern() 方法

HTML canvas 参考手册 HTML canvas 参考手册

Lamp

<p>图片应用:</p>
<img src="/examples/img_lamp.jpg" 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>

尝试一下 »


浏览器支持

Internet ExplorerFirefoxOperaGoogle ChromeSafari

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 该模式只显示一次(不重复)。

HTML canvas 参考手册 HTML canvas 参考手册