protected void DrawImages(List <Bitmap> imageList, Graphics graphics) { if (imageList.Count == 0) { return; } var mergedImage = Image.Clone(imageList[0], PixelFormat.Format24bppRgb); var filter = new Morph(); //merges all images in the list for (var i = 1; i < imageList.Count; i++) { //sets filter parameters filter.OverlayImage = mergedImage; filter.SourcePercent = 1.0 / (i + 1.0); //applies morph (merge) filter var newImage = Image.Clone(imageList[i], PixelFormat.Format24bppRgb); //var newMergedImage = filter.Apply(newImage); //disposes of images created mergedImage.Dispose(); newImage.Dispose(); //mergedImage = newMergedImage; } //draws resulting image in graphics graphics.DrawImage(mergedImage, new Rectangle(new Point(0, 0), this.Size)); mergedImage.Dispose(); }
public override Bitmap ApplyFilter(List <Bitmap> bitmap) { Grayscale filter = new Grayscale(red, green, blue); Bitmap newBitmap = Image.Clone(bitmap[0], PixelFormat.Format32bppRgb); return(filter.Apply(newBitmap)); }