///bitmap的高和宽
var b = 200;
var b2 = 550;
//区域大小
var size = 4;
//
var s:Shape = new Shape();
s.y = b;
addChild(s);
//
cau(null);
stage.focus = t;
//
t.addEventListener(’change’,cau);
//计算并绘制
function cau(e) {
var bmd:BitmapData = new BitmapData(b2,b);
bmd.draw(root);
s.graphics.clear();
for (var i=0; i<b2; i+=2*size) {
for (var j=0; j<b; j+=2*size) {
if (isB(i,j,bmd)) {
s.graphics.beginFill(int(Math.random()*0xffff00),1);
s.graphics.drawCircle(i,j,size/2);
s.graphics.endFill();
}
}
}
}
//计算当前区域是否需要画点,条件是在size*size的区域内有5个象素不是空白
function isB(a,b,bmd)
{
var c = 0;
for(var i=0;i<size;i++)
for (var j=0; j<size; j++)
{
if(bmd.getPixel(a+i,b+j)==0)c++;
}
if(c>5)return true;
return false;
}
///