A couple of methods to demonstrate the resizing and cropping of images.
private static Image ResizeImage(Image imageToResize, Size newSize) { Bitmap b = new Bitmap(newSize.Width, newSize.Height); //new bitmap Graphics g = Graphics.FromImage((Image)b); //new graphics object g.InterpolationMode = InterpolationMode.HighQualityBicubic; //change this depending expanding/shrinking etc.. g.DrawImage(imageToResize, 0, 0, newSize.Width, newSize.Height); //draw the new image g.Dispose(); //done now thanks. return (Image)b; }
You can of course use GetThumbnail in some instances and avoid all of this convolution, however using the interpolation method above will maintain far better image quality.
private static Image CropImage(Image imageToCrop, Rectangle rect) { Bitmap b = new Bitmap(imageToCrop); //new bmp Image croppedImage = b.Clone(rect, b.PixelFormat); //copy a section of the original return croppedImage; }