import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;
var bmd1:BitmapData=new BitmapData(100,100,true,0xFFFF0000);//红色
var bmd2:BitmapData=new BitmapData(50 ,50 ,true,0xFF00FF00);//绿色
var bmp1:Bitmap=new Bitmap(bmd1);
var bmp2:Bitmap=new Bitmap(bmd2);
bmp2.x=100;
addChild(bmp1);
addChild(bmp2);
//将bmd2中的绿色(0xFF00FF00)与bmd1中的像素做比较,并且替换成蓝色(0xFF0000FF)
var sourceRect:Rectangle=new Rectangle(0,0,20,20);//bmd2需要进行比较的像素范围
var destPoint:Point=new Point(0,10);//在bmd1中的偏移位置
var opration:String="==";
var threshold:uint=0xFF00FF00;
var color:uint=0xFF0000FF;//蓝色
var maskColor:uint=0xFFFFFFFF;
//true:不管是否匹配都复制参与比较的像素到目标图像
//(匹配时将替换为新的颜色,不匹配时将复制sourceBitmapData(bmd2)中参与比较的像素颜色(绿色0xFF00FF00))。
//false:不匹配时不会复制像素源图像。
var copySource:Boolean=false;
//返回已更改像素的数目
var count:uint=bmd1.threshold(bmd2,sourceRect,destPoint,opration,threshold,color,maskColor,copySource);