1: /// <summary>
2: /// Resizes an image to a certain height
3: /// </summary>
4: /// <param name="Image">Image to resize</param>
5: /// <param name="Width">New width for the final image</param>
6: /// <param name="Height">New height for the final image</param>
7: /// <param name="Quality">Quality of the resizing</param>
8: /// <returns>A bitmap object of the resized image</returns>
9: public static Bitmap ResizeImage(Bitmap Image, int Width, int Height, Quality Quality)
10: {
11: Bitmap NewBitmap = new Bitmap(Width, Height);
12: using (Graphics NewGraphics = Graphics.FromImage(NewBitmap))
13: {
14: if (Quality == Quality.High)
15: {
16: NewGraphics.CompositingQuality = CompositingQuality.HighQuality;
17: NewGraphics.SmoothingMode = SmoothingMode.HighQuality;
18: NewGraphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
19: }
20: else
21: {
22: NewGraphics.CompositingQuality = CompositingQuality.HighSpeed;
23: NewGraphics.SmoothingMode = SmoothingMode.HighSpeed;
24: NewGraphics.InterpolationMode = InterpolationMode.NearestNeighbor;
25: }
26: NewGraphics.DrawImage(Image, new System.Drawing.Rectangle(0, 0, Width, Height));
27: }
28: return NewBitmap;
29: }