コード例 #1
0
        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();
        }
コード例 #2
0
        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));
        }