问题:canvas画多个小球,怎么使每一个小球的背景图片不一样,可以做到么?
现在做到的只是每个小球不同的颜色,我想用图片填充。
部分代码:
`cxt.fillStyle = ballArray[i].color;
// var pat=cxt.createPattern(img,"no-repeat");
// cxt.fillStyle = pat;
cxt.arc(ballArray[i].x, ballArray[i].y, ballArray[i].r, 0, Math.PI * 2, true);
cxt.closePath();
cxt.fill();`
当前效果:
你把img标签里的链接改下,然后把代码复制粘贴到你本地测试。不过说实话,用背景平铺来实现画图很不好控制。
我给你另外一个建议就是先用drawImage画好,然后通过globalCompositeOperation来截取圆形。
这样写成渐变了...效果差不多了,虽然很丑。。
更新...
渐变 随机颜色 随机 透明度
感觉你那个注释掉的代码不就是吗
// var pat=cxt.createPattern(img,"no-repeat");
// cxt.fillStyle = pat;
这是我写的demo,不过没测兼容性
https://codepen.io/jackpan/pe...