我有一个填充的形状和一个与形状的边界框宽度和高度相同的 BitmapData。
我需要从 BitmapData 中剪切形状(基本上将 BitmapData 绘制到形状上......)[像这样:http: //imgur.com/uwE5F.png ]
我使用了相当老套的方法:
public static function cutPoly(img:BitmapData, s:Shape, bounds:Bounds):BitmapData {
var temp:BitmapData = new BitmapData(bounds.width, bounds.height, true);
Main.inst.stageQuality("low"); //hack to kill anti-aliasing
temp.draw(s,new Matrix());
Main.inst.stageQuality("high"); // end hack
//0xFF00FF00 is the color of the shape
makeColTrans(temp,0xFF00FF00); //makes the color transparent :P
//return temp;
img.draw(temp);
//img.draw(temp);
temp.dispose();
makeColTrans(img, 0xFFFFFFFF);
return img;
}
我想知道是否有更好的方法......不仅仅是一个黑客。