flash 中 位图的指定颜色透明(或替换成相应的颜色)

用 BitmapData 类的 threshold() 方法, 让 flash 中 位图的指定颜色透明(或替换成相应的颜色)。实现类似做图软件中

橡皮、油漆桶的效果。话不多说……

准备:在库中放置一张位图,并将该位图标识符设置为 myImg


import flash.display.BitmapData;
import flash.geom.Point;
import flash.geom.Rectangle;

var tempBitmapData:BitmapData = BitmapData.loadBitmap("myImg");
var myBitmapData:BitmapData = new BitmapData(tempBitmapData.width, tempBitmapData.height, true, 0x00000000);//

创建透明 BitmapData 对象
myBitmapData.draw(tempBitmapData);
tempBitmapData.dispose();//释放临时 BitmapData 对象内存
var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mc.attachBitmap(myBitmapData, this.getNextHighestDepth());
mc.onPress = function() {
myBitmapData.threshold(myBitmapData, myBitmapData.rectangle, new Point(0, 0), ">=", 0x00F4FAFA, 0x000000FF,

0x00FFffff, false);
};

你可能感兴趣的:(Flash)