Было лень реализовывать свёртку руками, решил взять стандартную.
bd1 и bd2 нормальные, то есть сами по себе отображаются, а вот bdresult весь чёрный.
Собсна код:
Код AS3:
public var filter:Array = [[ -1, -1, -1, -1, -1], [ -1, -1, -1, -1, -1], [ -1, -1, 24, -1, -1], [ -1, -1, -1, -1, -1], [ -1, -1, -1, -1, -1]];
...
public function cb(bd1:BitmapData, bd2:BitmapData):void
{
trace(bd1.width, bd2.height)
var divisor:Number = 1;
var bias:Number = 0;
var preserveAlpha:Boolean = true;
var clamp:Boolean = true;
var cfilter:ConvolutionFilter = new ConvolutionFilter(5, 5, filter, divisor, bias, preserveAlpha, clamp, 0)
var bdresult:BitmapData = new BitmapData(bd1.width,bd1.height,false,0)
bdresult.applyFilter(bd1, bd1.rect, new Point(), cfilter);
this.addChild(new Bitmap(bdresult))
}
UPD Отбой тревоги, я понял, что filter должен быть одномерным, стало быть [-1, -1, -1, ... , 24, ... ,-1,-1,-1]