Ushahidi.Model.Models.Media.CreateThumbnail C# (CSharp) Method

CreateThumbnail() protected static method

protected static CreateThumbnail ( string filePath, int widthOrHeight ) : Bitmap
filePath string
widthOrHeight int
return System.Drawing.Bitmap
        protected static Bitmap CreateThumbnail(string filePath, int widthOrHeight)
        {
            try
            {
                if (File.Exists(filePath))
                {
                    using (Bitmap original = new Bitmap(filePath))
                    {
                        if (original.Width < widthOrHeight && original.Height < widthOrHeight) return original;
                        Rectangle srcRect = new Rectangle(0, 0, original.Width, original.Height);
                        Rectangle destRect = (original.Width > original.Height)
                                 ? new Rectangle(0, 0, widthOrHeight, widthOrHeight * original.Height / original.Width)
                                 : new Rectangle(0, 0, widthOrHeight * original.Width / original.Height, widthOrHeight);

                        Bitmap thumbnail = new Bitmap(destRect.Width, destRect.Height);
                        using (Graphics graphics = Graphics.FromImage(thumbnail))
                        {
                            using (Brush brush = new SolidBrush(Color.White))
                            {
                                graphics.FillRectangle(brush, 0, 0, destRect.Width, destRect.Height);
                                graphics.DrawImage(original, destRect, srcRect, GraphicsUnit.Pixel);
                            }
                        }
                        return thumbnail;
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Exception("Media.CreateThumbnail", "Exception: {0}", ex.Message);
            }
            return null;
        }