createPattern()不成功

2015-02-25 07:11:19 +08:00
 strom001

var canvas = document.getElementById("canvas");
var context = canvas.getContext('2d');
var img= new Image();
img.src='lamp.gif';

var pattern = context.createPattern(img,'repeat');

context.clearRect(0,0,canvas.width,canvas.height);
context.fillStyle = pattern;
context.fillRect(0,0,canvas.width,canvas.height);
context.fill();

结果是黑块,
createPattern直接写图片路径为啥不行

3984 次点击
所在节点    HTML
3 条回复
wovfeng
2015-02-25 08:20:48 +08:00
这里需要图片加载完的吧 把你下面的代码写到 img.onload 里面试试?
strom001
2015-02-26 07:09:11 +08:00
@wovfeng 不管用呢。昨天我在html里加了个<img>成功显示了 ,今天再试又不行了。
现在加了<img>,然后用complete?alert(“不行”):(img.onload的部分);
这样做还是不行,弹出不行。如果不加<img>,连弹都不弹
safari
strom001
2015-02-26 07:10:30 +08:00
complete删了,这是现在的
var canvas = document.getElementById("canvas");
var context = canvas.getContext('2d');
var pattern = context.createPattern(img, 'repeat');
var img= new Image();
img.src='lamp.gif';
img.conload=function() {
context.clearRect(0, 0, canvas.width, canvas.height);
context.fillStyle = pattern;
context.fillRect(0, 0, canvas.width, canvas.height);
context.fill();
};

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/172590

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX