Basically you want something like this, don't you:
public void Resize(Stream input, Stream output, int width, int height) { using (var image = Image.FromStream(input)) using (var bmp = new Bitmap(width, height)) using (var gr = Graphics.FromImage(bmp)) { gr.CompositingQuality = CompositingQuality.HighSpeed; gr.SmoothingMode = SmoothingMode.HighSpeed; gr.InterpolationMode = InterpolationMode.HighQualityBicubic; gr.DrawImage(image, new Rectangle(0, 0, width, height)); bmp.Save(output, ImageFormat.Png); } }
which will be used as follows:
using (var input = File.OpenRead("input.jpg")) using (var output = File.Create("output.png")) { Resize(input, output, 640, 480); }
source share