June 30, 2011

Re size image in ASP.NET while uploading an image


 Re size image in ASP.NET while uploading an image  
 public bool SaveThumbnailImage(System.Web.UI.WebControls.FileUpload fu, string FullSavePath, int HeightMax, int WidthMax)  
 {  
 try  
 {  
 if (fu.HasFile){string tmpSaveDir = pg.Server.MapPath("~/TempUploads/");  
 if (System.IO.Directory.Exists(tmpSaveDir) == false)  
 {  
 System.IO.Directory.CreateDirectory(tmpSaveDir);  
 }  
 string tmpSavePath = pg.Server.MapPath("~/TempUploads/" + fu.FileName);  
 if (System.IO.File.Exists(tmpSavePath))  
 {  
 try  
 {  
 System.IO.File.Delete(tmpSavePath);  
 }  
 catch   
 { }  
 }  
 fu.SaveAs(tmpSavePath);  
 System.Drawing.Image img = System.Drawing.Image.FromFile(tmpSavePath);  
 double ratioWidth = (double)img.Width / (double)WidthMax;  
 double ratioHeight = (double)img.Height / (double)HeightMax;  
 double ratio = Math.Max(ratioHeight, ratioWidth);  
 int newWidth = (int)(img.Width / ratio);  
 int newHeight = (int)(img.Height / ratio);  
 System.Drawing.Image thub = img.GetThumbnailImage(newWidth, newHeight, new ,System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);   
 if (System.IO.File.Exists(FullSavePath))  
 {  
 try  
  { System.IO.File.Delete(FullSavePath);  
  }catch { }}  
 thub.Save(FullSavePath, System.Drawing.Imaging.ImageFormat.Png);  
 thub.Dispose();  
 img.Dispose();  
 if (System.IO.File.Exists(tmpSavePath))  
 {  
 try  
 {   
 System.IO.File.Delete(tmpSavePath);  
  }  
 catch  
 {  
  }  
 }  
 setError(false, string.Empty);  
 return true; }  
 else  
  {  
 setError(true, "No file input found.");  
  return false;  
 }  
 }  
 catch (Exception ex)  
 {  
 setError(true, ex.Message);  
  return false;  
 }  
 }  
 private bool ThumbnailCallback()  
 {   
 return false;  
 }