嗨,我是actionscript的新手。
我正在尝试用ActionScript3制作一个画笔工具,孩子们可以用画笔在圆圈内绘制颜色。我已经使用linestyle实现了这一点。现在我想让画笔在孩子们将要完成的时候(比如当他们完成绘画的95%的时候)捕捉到颜色。我怎么知道孩子在圆圈上画了多少?
谢谢
发布于 2011-04-11 15:41:20
我怎么知道孩子在圆圈上画了多少?
您可以:
如何计算像素:
function countPixels(shape:DisplayObject):int
{
var bd:BitmapData = new BitmapData(shape.width, shape.height);
bd.draw(shape);
//here you get sequence of ARGB-packed colors in vector
var pixels:Vector.<uint> = bd.getVector(bd.rect);
//AFAIK, fastest method to traverse vector is 'for' loop
var pixel:uint;
var filledCount:int = 0;
for (var i:int = pixels.length - 1; i >= 0; i--)
{
pixel = pixels[i];
//pixel is 32-bit ARGB color value, test upper 8 bits (alpha):
if ((pixel >> 24) > 0) filledCount++;
}
return filledCount;
}
在填充形状上运行此命令,以获取要比较的总像素数。
当pixelCount达到95%后,你可以清除孩子的图画,并显示填充形状。
https://stackoverflow.com/questions/5616468
复制相似问题