/// <summary>
        /// Overlay a color on a image
        /// </summary>
        /// <param name="image">The image.</param>
        /// <param name="brush">The brush.</param>
        /// <param name="alpha">The alpha.</param>
        /// <returns>Image.</returns>
        public static Image Overlay(this Image image, Brush brush, double alpha = 0.5)
        {
            Bitmap colorBitmap = new Bitmap(image.Width, image.Height);

            using (Graphics graph = Graphics.FromImage(colorBitmap))
            {
                Rectangle rectangle = new Rectangle(0, 0, colorBitmap.Width, colorBitmap.Height);
                graph.FillRectangle(brush, rectangle);
            }

            ImageFilter imageFilter = new ImageFilter();

            return imageFilter.Overlay(new Bitmap(image), colorBitmap, alpha);
        }
 /// <summary>
 /// Overlay two images
 /// </summary>
 /// <param name="image">The image.</param>
 /// <param name="overlayingImage">The overlaying image.</param>
 /// <param name="alpha">The alpha.</param>
 /// <returns>Image.</returns>
 public static Image Overlay(this Image image, Image overlayingImage, double alpha = 0.5)
 {
     ImageFilter imageFilter = new ImageFilter();
     return imageFilter.Overlay(new Bitmap(image),  new Bitmap(overlayingImage), alpha);
 }