HTML canvas createPattern() 方法

由网友 大卫 发布 阅读 7

HTML canvas createPattern() 方法

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

HTML canvas 参考手册

用到的图像:

haha

在线示例

在水平和垂直方向重复图像:

您的浏览器,不支持HTML5 canvas标签.

JavaScript:

<!DOCTYPE html>
<html>
<head>
<title>HTML canvas createPattern()方法的使用(大卫编程网 div.cn)</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该模式只显示一次(不重复)。
HTML canvas 参考手册

HTML canvas createRadialGradient() 方法 HTML canvas lineCap 属性