if (this.uploadfile1.Value.Length > 0)
        {
            string nam = this.uploadfile1.PostedFile.FileName;
            //取得文件名(抱括路径)里最后一个"."的索引
            int i = nam.LastIndexOf(".");
            if (i != -1)
            {
                //取得文件扩展名
                string newext = nam.Substring(i);
                if (".gif,.jpg,.bmp,.ico,.png".IndexOf(newext.ToLower().Trim()) == -1)
                {
                    return false;
                }
                #region

                Byte[] oFileByte = new byte[this.uploadfile1.PostedFile.ContentLength];
                System.IO.Stream oStream = this.uploadfile1.PostedFile.InputStream;
                System.Drawing.Image oImage = System.Drawing.Image.FromStream(oStream);
                int oWidth = oImage.Width; //原图宽度
                int oHeight = oImage.Height; //原图高度
                int tWidth = 135; //设置缩略图初始宽度
                int tHeight = 135; //设置缩略图初始高度
                //按比例计算出缩略图的宽度和高度
                if (oWidth >= oHeight)
                {
                    tHeight = (int)Math.Floor(Convert.ToDouble(oHeight) * (Convert.ToDouble(tWidth) / Convert.ToDouble(oWidth)));
                }
                else
                {
                    tWidth = (int)Math.Floor(Convert.ToDouble(oWidth) * (Convert.ToDouble(tHeight) / Convert.ToDouble(oHeight)));
                }
                //生成缩略原图
                Bitmap tImage = new Bitmap(tWidth, tHeight);
                Graphics g = Graphics.FromImage(tImage);
                g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
                //设置高质量插值法
                g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                //设置高质量,低速度呈现平滑程度
                g.Clear(Color.Transparent);
                //清空画布并以透明背景色填充
                g.DrawImage(oImage, new Rectangle(0, 0, tWidth, tHeight), new Rectangle(0, 0, oWidth, oHeight), GraphicsUnit.Pixel);
                PicYName = "Y" + DateTime.Now.ToShortDateString().Replace("-", "") + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString() + ".jpg";
                string oFullName = Server.MapPath("~/ImgInfo/") + PicYName;
                //保存原图的物理路径
                PicSName="S" + DateTime.Now.ToShortDateString().Replace("-", "") + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString() + ".jpg";
                string tFullName = Server.MapPath("~/ImgInfo/") + PicSName;
                //保存缩略图的物理路径
                try
                {
                    //以JPG格式保存图片
                    oImage.Save(oFullName, System.Drawing.Imaging.ImageFormat.Jpeg);
                    tImage.Save(tFullName, System.Drawing.Imaging.ImageFormat.Jpeg);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    //释放资源
                    oImage.Dispose();
                    g.Dispose();
                    tImage.Dispose();
                }
                #endregion

            }


           

 

        }
        return true;
    }

posted on 2010-05-08 18:37  凯===凯  阅读(200)  评论(0编辑  收藏  举报