background image

        /// <param name="flag">

 

压缩质量 1-100</param>  

        /// <returns></returns>  
       
                public bool CompressImage(HttpPostedFile postedFile, string dFile, int dHeight, int 
dWidth, int flag)
        {
            //System.Drawing.Image iSource = System.Drawing.Image.FromFile(sFile);
 

 

 

 

 

 

 

 

 

 

 

 

System.Drawing.Image   iSource   = 

System.Drawing.Image.FromStream(postedFile.InputStream);
            ImageFormat tFormat = iSource.RawFormat;
            int sW = 0, sH = 0;
            //

  

按比例缩放

            Size tem_size = new Size(iSource.Width, iSource.Height);
            if (tem_size.Width > dHeight || tem_size.Width > dWidth)
            {
                if ((tem_size.Width * dHeight) > (tem_size.Height * dWidth))
                {
                    sW = dWidth;
                    sH = (dWidth * tem_size.Height) / tem_size.Width;
                }
                else
                {
                    sH = dHeight;
                    sW = (tem_size.Width * dHeight) / tem_size.Height;
                }

            }
            else
            {
                //sW = tem_size.Width;
                //sH = tem_size.Height;
                sW = tem_size.Width;
                sH = tem_size.Height;
            }
            //Bitmap ob = new Bitmap(dWidth, dHeight);
            Bitmap ob = new Bitmap(sW, sH);
            Graphics g = Graphics.FromImage(ob);
            g.Clear(Color.WhiteSmoke);
            g.CompositingQuality = CompositingQuality.HighQuality;
            g.SmoothingMode = SmoothingMode.HighQuality;
            g.InterpolationMode = InterpolationMode.HighQualityBicubic;
            //g.DrawImage(iSource, new Rectangle((dWidth - sW) / 2, (dHeight - sH) / 2, sW, sH), 
0, 0, iSource.Width, iSource.Height, GraphicsUnit.Pixel);
                        g.DrawImage(iSource,   new   Rectangle(0,   0,   sW,   sH),   0,   0,   iSource.Width,