public bool SaveThumbnailImageHQ(System.Web.UI.WebControls.FileUpload fu, string FullSavePath, int HeightMax, int WidthMax) { try { if (fu.HasFile) { Size newSize = new Size(WidthMax, HeightMax); using (Bitmap bmp = new Bitmap(fu.PostedFile.InputStream)) { double ratioWidth = (double)bmp.Size.Width / (double)newSize.Width; double ratioHeight = (double)bmp.Size.Height / (double)newSize.Height; double ratio = Math.Max(ratioHeight, ratioWidth); int newWidth = (int)(bmp.Size.Width / ratio); int newHeight = (int)(bmp.Size.Height / ratio); newSize = new Size(newWidth, newHeight); using (Bitmap thumb = new Bitmap((System.Drawing.Image)bmp, newSize)) { using (Graphics g = Graphics.FromImage(thumb)) // Create Graphics object from original Image { g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality; System.Drawing.Imaging.ImageCodecInfo codec = System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders()[1]; System.Drawing.Imaging.EncoderParameters eParams = new System.Drawing.Imaging.EncoderParameters(1); eParams.Param[0] = new System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L); g.DrawImage(bmp, new Rectangle(0, 0, thumb.Width, thumb.Height)); if (System.IO.File.Exists(FullSavePath)) { try { System.IO.File.Delete(FullSavePath); } catch { } } thumb.Save(FullSavePath, codec, eParams); //setError(false, string.Empty); return true; } } } } else { //setError(true, "No file input found."); return false; } } catch (Exception ex) { //setError(true, ex.Message); return false; } }
Read and share knowledge about Asp.Net, SharePoint, JavaScript and other Microsoft Technology.
Saturday, April 24, 2010
Resize Image High Quality C#.Net with Size Ratio and File Upload Control
Subscribe to:
Post Comments (Atom)
there is a cheap alternative that allow to do all resize and compress stuff in just a few clicks right in SharePoint Designer workflow editor. Check out this article: http://www.harepoint.com/Products/HarePointWorkflowExtensions/Example-Images.aspx
ReplyDeleteThanks.