as3 BitmapData阈值,测试失败的像素会发生什么?如何删除它们?

时间:2013-08-02 12:40:24

标签: actionscript-3 pixels bitmapdata threshold

当我使用bitmapdata阈值时,未通过阈值测试的像素会发生什么? 根据我的观察,他们仍然存在,所以有没有办法删除它们?

1 个答案:

答案 0 :(得分:1)

最好的方法是为此操作使用临时(静态,可重用)透明BitmapData。你用0x0填充它,然后将threshold()设置源设置为你的BitmapData,并将copySource标志设置为false,然后你copyPixels()mergeAlpha设置为false。

var tbd:BitmapData=yourBitmapData.clone(); // this makes a new BitmapData, so be warned
var p0:Point=new Point();
tbd.fillRect(tbd.rect,0);
tbd.threshold(yourBitmapData,yourBitmapData.rect,p0,yourOperation,
    yourThreshold,yourColor,yourMask,false);
yourBitmapData.copyPixels(tbd,tbd.rect,p0);
tbd.dispose();