public unsafe GaussFilterAssembly(int maskSize, double gaussRadius, Bitmap image, IGaussMaskProvider maskProvider, Action <float> dispatcher)
 {
     bitmapLastIndex   = image.Width * image.Height * BYTES_IN_PIXEL;
     mask              = maskProvider.GetMask(maskSize, gaussRadius);
     ProgressChanged  += GaussFilterAssembly_ProgressChanged;
     this.maskSize     = maskSize;
     this.gaussRadius  = gaussRadius;
     this.image        = image;
     filteredImage     = image.Clone() as Bitmap;
     this.maskProvider = maskProvider;
     this.dispatcher   = dispatcher;
 }
示例#2
0
 public GaussFilterCSharp(int maskSize, double gaussRadius, Bitmap image, IGaussMaskProvider maskProvider, Action <float> dispatcher)
 {
     _bitmapLastIndex = image.Width * image.Height * BYTES_IN_PIXEL;
     MaskSize         = maskSize;
     GaussRadius      = gaussRadius;
     Image            = image;
     _dispatcher      = dispatcher;
     Image            = image;
     FilteredImage    = image.Clone() as Bitmap;
     Mask             = maskProvider.GetMask(maskSize, gaussRadius);
     maskValuesSum    = Mask.Sum(m => m);
     ProgressChanged += GaussFilter_ProgressChanged;
 }