I did some research and modified this function to allow for higher quality image resizing
public static byte[] MakeThumb(byte[] fullsize, int maxwidth)
{
Image iOriginal, iThumb;
double scale;
iOriginal = Image.FromStream(new MemoryStream(fullsize));
if (iOriginal.Width > maxwidth)
{
scale = (double)iOriginal.Width / (double)maxwidth;
int newheight = Convert.ToInt32(iOriginal.Height / scale);
iThumb = new Bitmap(iOriginal, maxwidth, newheight);
Graphics iGraphic = Graphics.FromImage(iThumb);
iGraphic.CompositingQuality = CompositingQuality.HighQuality;
iGraphic.SmoothingMode = SmoothingMode.HighQuality;
iGraphic.InterpolationMode = InterpolationMode.HighQualityBicubic;
MemoryStream m = new MemoryStream();
Rectangle iRect = new Rectangle(0, 0, maxwidth, newheight);
iGraphic.DrawImage(iOriginal, iRect);
iGraphic.Save();
iThumb.Save(m, ImageFormat.Jpeg);
return m.GetBuffer();
}
else
{
return fullsize;
}
}
Cheers,
pixelbobby
http://www.bobbybeckner.com