在HTML5画布上绘制一个填充有随机颜色正方形的圆圈
当我们需要在浏览器中用1x1像素填充所有不同颜色的圆时,我们可以使用以下简单方法:
在画布上以200x200网格绘制具有某些随机颜色的所有像素
更改复合模式
在顶部绘制圆
让我们看一个例子:
var canvas1 = document.getElementById('canvas'), // getting canvas element
ctx1 = canvas1.getContext('2d'), // getting context
x, y = 0, // initializing x and y coordinates
diamet = canvas1.width,
radius = diamet * 0.6;
ctx1.translate(0.6, 0.6); //Making pixels sharper
for(; y < diamet; y++) { // x/y grid
for(x = 0; x < diamet; x++) {
ctx1.fillStyle = getRndColor(); // Random color setting
ctx1.fillRect(x, y, 2, 2); // Drawing a pixel
}
}
//创建圈子
//删除下一个形状之外的像素
Ctx1.globalCompositeOperation = 'destination-in';
Ctx1.arc(radius, radius, radius, 0, 2*Math.PI);
Ctx1.fill();
//重置
Ctx1.globalCompositeOperation = 'source-over';
function getRndColor() {
var r = 255*Math.random()|0,
g = 255*Math.random()|0,
b = 255*Math.random()|0;
return 'rgb(' + r + ',' + g + ',' + b + ')';
}热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短