在 Flash 中的“填充和描边”选项下,您可以将形状着色为库中的纹理之一。示例:http: //i1.minus.com/iban9aRUCI7UTf.png
如何使用 AS3 代码执行此操作?
在 Flash 中的“填充和描边”选项下,您可以将形状着色为库中的纹理之一。示例:http: //i1.minus.com/iban9aRUCI7UTf.png
如何使用 AS3 代码执行此操作?
如果您使用Graphics
API 绘图,则可以使用beginBitmapFill。
打开库中图像的属性,然后选中 ActionScript 选项卡上的“ Export for ActionScript ”。给它一个类名,例如“ MyTexture ”,然后你可以像这样使用它:
var texturedCircle:Sprite = new Sprite();
texturedCircle.graphics.beginBitmapFill(new MyTexture());
texturedCircle.graphics.drawCircle(0, 0, 100);
您可以分两步解决此问题。
function averageColour(source:BitmapData):uint {
var red:Number = 0;
var green:Number = 0;
var blue:Number = 0;
var count:Number = 0;
var pixel:Number;
for (var x:int = 0; x < source.width; x++) {
for (var y:int = 0; y < source.height; y++) {
pixel = source.getPixel(x, y);
red += pixel >> 16 & 0xFF;
green += pixel >> 8 & 0xFF;
blue += pixel & 0xFF;
count++
}
}
red /= count;
green /= count;
blue /= count;
return red << 16 | green << 8 | blue;
}
function setColor(obj:Object, color:uint, alpha:Number = 1):void {
/* Colors the object using uint */
// Pull the individual primaries
var r:Number = (color >> 16 ) & 0xFF;
var g:Number = (color >> 8) & 0xFF;
var b:Number = color & 0xFF;
obj.transform.colorTransform = new ColorTransform(0,0,0,alpha,r,g,b,0);
}