海,我是actionscript的新手。
我正在尝试在 actionscript 3 中制作画笔工具,孩子们可以使用画笔在圆圈内绘制颜色。我已经使用线条样式实现了这一点。现在我希望画笔在孩子即将完成时(比如当他们完成绘画完成 95% 时)来捕捉颜色。我怎么知道孩子在圆圈上画了多少?
谢谢
海,我是actionscript的新手。
我正在尝试在 actionscript 3 中制作画笔工具,孩子们可以使用画笔在圆圈内绘制颜色。我已经使用线条样式实现了这一点。现在我希望画笔在孩子即将完成时(比如当他们完成绘画完成 95% 时)来捕捉颜色。我怎么知道孩子在圆圈上画了多少?
谢谢
我怎么知道孩子在圆圈上画了多少?
你可以:
如何计算像素:
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% 后,您可以清除孩子的绘图并显示填充形状。