How to compress height and width of a photo while loading [asp.net]

I want to compress the photo upload to Height =600px & Width= 800px [only if the actual size is larger than this] during upload. sql server2008 are saved on sql server2008 with an image of the data type!

  public byte[] imagetoByte() { if (FileUpload1.HasFile) { int imageFilelength = FileUpload1.PostedFile.ContentLength; byte[] ph = new byte[imageFilelength]; HttpPostedFile ima = FileUpload1.PostedFile; MemoryStream memoryStream = new MemoryStream(); ima.InputStream.Read(ph, 0, imageFilelength); return ph; } else { return null; } } 
Function

used to upload images! will someone help me fix this.

+6
source share
1 answer

A possible solution may be as follows:

 int imageFilelength = FileUpload1.PostedFile.ContentLength; byte[] ph = new byte[imageFilelength]; MemoryStream ms = new MemoryStream(ph); Image img = System.Drawing.Image.FromStream(ms); //Call function to resize Image ResizedImage = RezizeImage(img, 500, 500); //Save Image ResizedImage.Save("IMAGELOCATION.png", System.Drawing.Imaging.ImageFormat.Gif); 

 private Image RezizeImage(Image img, int maxWidth, int maxHeight) { if(img.Height < maxHeight && img.Width < maxWidth) return img; using (img) { Double xRatio = (double)img.Width / maxWidth; Double yRatio = (double)img.Height / maxHeight; Double ratio = Math.Max(xRatio, yRatio); int nnx = (int)Math.Floor(img.Width / ratio); int nny = (int)Math.Floor(img.Height / ratio); Bitmap cpy = new Bitmap(nnx, nny, PixelFormat.Format32bppArgb); using (Graphics gr = Graphics.FromImage(cpy)) { gr.Clear(Color.Transparent); // This is said to give best quality when resizing images gr.InterpolationMode = InterpolationMode.HighQualityBicubic; gr.DrawImage(img, new Rectangle(0, 0, nnx, nny), new Rectangle(0, 0, img.Width, img.Height), GraphicsUnit.Pixel); } return cpy; } } 
0
source

All Articles