在ASP.NET中上传图片并生成缩略图

 1 None.gif 以下是引用片段:
 2 None.gif private   void  btnUploadPicture_Click( object  sender, System.EventArgs e) 
 3 ExpandedBlockStart.gifContractedBlock.gif dot.gif
 4InBlock.gif   //检查上传文件的格式是否有效 
 5InBlock.gif   if(this.UploadFile.PostedFile.ContentType.ToLower().IndexOf("image"< 0
 6ExpandedSubBlockStart.gifContractedSubBlock.gif   dot.gif
 7InBlock.gif    Response.Write("上传图片格式无效!"); 
 8InBlock.gif    return
 9ExpandedSubBlockEnd.gif   }
 
10InBlock.gif
11InBlock.gif   //生成原图 
12InBlock.gif   Byte[] oFileByte = new byte[this.UploadFile.PostedFile.ContentLength]; 
13InBlock.gif   System.IO.Stream oStream = this.UploadFile.PostedFile.InputStream; 
14InBlock.gif   System.Drawing.Image oImage = System.Drawing.Image.FromStream(oStream); 
15InBlock.gif
16InBlock.gif   int oWidth = oImage.Width; //原图宽度 
17InBlock.gif   int oHeight = oImage.Height; //原图高度 
18InBlock.gif   int tWidth = 100//设置缩略图初始宽度 
19InBlock.gif   int tHeight = 100//设置缩略图初始高度 
20InBlock.gif
21InBlock.gif   //按比例计算出缩略图的宽度和高度 
22InBlock.gif   if(oWidth >= oHeight) 
23ExpandedSubBlockStart.gifContractedSubBlock.gif   dot.gif
24InBlock.gif    tHeight = (int)Math.Floor(Convert.ToDouble(oHeight) * (Convert.ToDouble(tWidth) / Convert.ToDouble(oWidth))); 
25ExpandedSubBlockEnd.gif   }
 
26InBlock.gif   else 
27ExpandedSubBlockStart.gifContractedSubBlock.gif   dot.gif
28InBlock.gif    tWidth = (int)Math.Floor(Convert.ToDouble(oWidth) * (Convert.ToDouble(tHeight) / Convert.ToDouble(oHeight))); 
29ExpandedSubBlockEnd.gif   }
 
30InBlock.gif
31InBlock.gif   //生成缩略原图 
32InBlock.gif   Bitmap tImage = new Bitmap(tWidth,tHeight); 
33InBlock.gif   Graphics g = Graphics.FromImage(tImage); 
34InBlock.gif   g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; //设置高质量插值法 
35InBlock.gif   g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;//设置高质量,低速度呈现平滑程度 
36InBlock.gif   g.Clear(Color.Transparent); //清空画布并以透明背景色填充 
37InBlock.gif   g.DrawImage(oImage,new Rectangle(0,0,tWidth,tHeight),new Rectangle(0,0,oWidth,oHeight),GraphicsUnit.Pixel); 
38InBlock.gif
39InBlock.gif   string oFullName = Server.MapPath("."+ "/" + "o" + DateTime.Now.ToShortDateString().Replace("-",""+ DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString() + ".jpg"//保存原图的物理路径 
40InBlock.gif   string tFullName = Server.MapPath("."+ "/" + "t" + DateTime.Now.ToShortDateString().Replace("-",""+ DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString() + ".jpg"//保存缩略图的物理路径 
41InBlock.gif
42InBlock.gif   try 
43ExpandedSubBlockStart.gifContractedSubBlock.gif   dot.gif
44InBlock.gif    //以JPG格式保存图片 
45InBlock.gif    oImage.Save(oFullName,System.Drawing.Imaging.ImageFormat.Jpeg); 
46InBlock.gif    tImage.Save(tFullName,System.Drawing.Imaging.ImageFormat.Jpeg); 
47ExpandedSubBlockEnd.gif   }
 
48InBlock.gif   catch(Exception ex) 
49ExpandedSubBlockStart.gifContractedSubBlock.gif   dot.gif
50InBlock.gif    throw ex; 
51ExpandedSubBlockEnd.gif   }
 
52InBlock.gif   finally 
53ExpandedSubBlockStart.gifContractedSubBlock.gif   dot.gif
54InBlock.gif    //释放资源 
55InBlock.gif    oImage.Dispose(); 
56InBlock.gif    g.Dispose(); 
57InBlock.gif    tImage.Dispose(); 
58ExpandedSubBlockEnd.gif   }
 
59ExpandedBlockEnd.gif}
  
60 None.gif

转载于:https://www.cnblogs.com/qsyhcd/archive/2007/03/28/691000.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值