【发布时间】:2014-04-09 20:34:03
【问题描述】:
我有一个很奇怪的例子要处理... 我需要用 1x1 像素填充一个圆圈,在浏览器中使用不同的颜色。
我试过的,是这样的
function getRandomColor() {
var letters = '0123456789ABCDEF'.split('');
var color = '#';
for (var i = 0; i < 6; i++ ) {
color += letters[Math.round(Math.random() * 15)];
}
return color;
}
function createRandomSqaure(destination) {
var size = destination.height() * destination.width();
for (var i = 0; i < size; i += 1) {
destination.append('<div class="pixel" style="background: ' + getRandomColor() + '"></div>');
}
}
createRandomSqaure($('.pic'));
情况是,它超级慢(您可以想象,对于 200x200 图像,循环进行 40k 次),我认为也许更好的方法是在画布上绘制它? 最后我需要画一个用这个像素填充的圆圈......
我不知道如何以更优化的方式做这样的事情,我也可以使用 nodejs 服务器,但我认为在 heroku 上生成类似这样的服务器端的东西太多了。
我只是好奇你们怎么看,做这种事情的最好方法是什么?
【问题讨论】:
标签: javascript html loops canvas html5-canvas