ImageEngine.ScaleBitmap C# (CSharp) Method

ScaleBitmap() public method

public ScaleBitmap ( Bitmap Bitmap, int scaleWidth, int scaleHeight ) : Bitmap
Bitmap Bitmap
scaleWidth int
scaleHeight int
return Bitmap
    public Bitmap ScaleBitmap(Bitmap Bitmap, int scaleWidth, int scaleHeight)
    {
        Bitmap scaledBitmap;

        try
        {
            //  int scaleWidth = (int)Math.Max(Bitmap.Width * ScaleFactorX, 1.0f);
            //  int scaleHeight = (int)Math.Max(Bitmap.Height * ScaleFactorY, 1.0f);

            scaledBitmap = new Bitmap(scaleWidth, scaleHeight);

            // Scale the bitmap in high quality mode.
            using (Graphics gr = Graphics.FromImage(scaledBitmap))
            {
                gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                gr.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
                gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
                gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;

                gr.DrawImage(Bitmap, new Rectangle(0, 0, scaleWidth, scaleHeight), new Rectangle(0, 0, Bitmap.Width, Bitmap.Height), GraphicsUnit.Pixel);
            }

            // Copy original Bitmap's EXIF tags to new bitmap.
            foreach (PropertyItem propertyItem in Bitmap.PropertyItems)
            {
                scaledBitmap.SetPropertyItem(propertyItem);
            }

        }
        catch (Exception ex)
        {
            scaledBitmap = null;
        }
        return scaledBitmap;
    }