亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

ASP.NET實現上傳圖片并生成縮略圖的方法

2024-07-10 13:29:46
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了ASP.NET實現上傳圖片并生成縮略圖的方法,提供了一個asp.net上傳圖片與生成縮略圖的方法,并給出了改進程序供大家對比分析,需要的朋友可以參考下
 

本文實例講述了ASP.NET實現上傳圖片并生成縮略圖的方法。分享給大家供大家參考,具體如下:

protected void bt_upload_Click(object sender, EventArgs e){  //檢查上傳文件的格式是否有效   if (this.UploadFile.PostedFile.ContentType.ToLower().IndexOf("image") < 0)  {   Response.Write("上傳圖片格式無效!");   return;  }  //生成原圖   Byte[] oFileByte = new byte[this.UploadFile.PostedFile.ContentLength];  System.IO.Stream oStream = this.UploadFile.PostedFile.InputStream;  System.Drawing.Image oImage = System.Drawing.Image.FromStream(oStream);  int oWidth = oImage.Width; //原圖寬度   int oHeight = oImage.Height; //原圖高度   int tWidth = 100; //設置縮略圖初始寬度   int tHeight = 100; //設置縮略圖初始高度   //按比例計算出縮略圖的寬度和高度   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);  string oFullName = Server.MapPath(".") + "/image/" + "o" + 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(".") + "/image/" + "t" + DateTime.Now.ToShortDateString().Replace("-", "") + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString() + ".jpg"; //保存縮略圖的物理路徑   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();  } }}

這里再補充一個改進方法:

#region 上傳圖片 并生成縮略圖/// <summary>/// 上傳圖片生成縮略圖/// </summary>/// <param name="originalImagePath">圖片源路徑</param>/// <param name="thumbnailPath">縮略圖路徑(物理路徑)</param>/// <param name="width">縮略圖寬度</param>/// <param name="height">縮略圖高度</param>/// <param name="mode">生成縮略圖的方式</param>public static void MakeThumbnail(string originalImagePath, string thumbnailPath, int width, int height, string mode) {  //從路徑中獲取源圖片的文件  System.Drawing.Image originalImage = System.Drawing.Image.FromFile(originalImagePath);  int towidth = width;  int toheight = height;  int x = 0;   int y = 0;  //獲取圖片的寬度   int ow = image.Width;  //獲取圖片的高度   int oh = image.Height;  //生成縮略圖的方式   switch (mode) {     case "HW":    break;    case "W"://指定寬度 高按比例    toheight = originalImage.Height * width / originalImage.Width;    break;    case "H"://指定圖片的高度 寬按比例    towidth = originalImage.Width * height / originalImage.Height;    break;    case "Cut"://如果為裁減模式 則不變形     if ((double)originalImage.Width / (double)originalImage.Height > (double)towidth / (double)toheight)    {     oh = originalImage.Height;     //縮略圖片的寬度     ow = originalImage.Height * towidth / toheight;     y = 0;     x = (originalImage.Width - ow) / 2;    }    else {     ow = originalImage.Width;     //縮略圖片的高度     oh = originalImage.Width * toheight / towidth;     x = 0;     y(originalImage.Height - oh) / 2;    }    break;    default: break;   }  //新建一個bmp圖片   Bitmap bitmap = new Bitmap(towidth, toheight);  //新建一個畫布 以BitMap 寬 高作為畫布的大小   Graphics g = Graphics.FromImage(bitmap);  //設置高質量插值法   g.InterpolationMode = InterpolationMode.High;  //以高質量 低速度 呈現   g.SmoothingMode = SmoothingMode.HighQuality;  //清空畫布 以白色背景色填充    g.Clear(Color.Transparent);   //在指定位置并且按指定大小繪制原圖片的指定部分   g.DrawImage(originalImage,new Rectangle(towidth,toheight),new Rectangle(x,y,ow,oh),GraphicsUnit.Pixel);   try   {    //以jpg格式保存縮略圖    bitmap.Save(thumbnailPath,System.Drawing.Imaging.ImageFormat.Jpeg);   }   catch (Exception ex)   {    throw ex;   }   finally {    //釋放資源    originalImage.Dispose();    bitmap.Dispose();    g.Dispose();   }}#endregion

希望本文所述對大家asp.net程序設計有所幫助。



注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久婷婷六月丁香| 亚洲色图av在线| 91久久国产综合久久91精品网站| 大桥未久av一区二区三区| 亚洲加勒比久久88色综合| 国产精品久久久久免费a∨大胸| 成人午夜高潮视频| 2019国产精品自在线拍国产不卡| 久久久久久久亚洲精品| 亚洲男子天堂网| 97人洗澡人人免费公开视频碰碰碰| 亚洲电影成人av99爱色| 国产精品自拍视频| 亚洲欧美成人一区二区在线电影| 亚洲第一二三四五区| 欧美成年人视频| 91亚洲精品一区二区| 成人福利在线视频| 黑人与娇小精品av专区| 国产成人高潮免费观看精品| 欧美黑人巨大精品一区二区| 美日韩精品免费视频| 久久人体大胆视频| 91精品国产综合久久男男| 欧美日韩国产综合视频在线观看中文| 日韩欧美aⅴ综合网站发布| 欧美午夜精品久久久久久浪潮| 国产精品久久二区| 欧美乱人伦中文字幕在线| 亚洲xxxx视频| 国产亚洲aⅴaaaaaa毛片| 欧美福利视频在线观看| 国产精品久久久久久久av大片| 国产91在线视频| 国产精品久久久| 97精品国产97久久久久久春色| 欧美丝袜第一区| 久久国产天堂福利天堂| 欧美亚洲日本网站| 国产91在线高潮白浆在线观看| 国产精品免费看久久久香蕉| 国产成人91久久精品| 欧美激情一区二区三区久久久| 成人网在线免费观看| 岛国精品视频在线播放| 亚洲色图17p| 热re91久久精品国99热蜜臀| 国内精品久久久久伊人av| 欧亚精品中文字幕| 日韩av网址在线观看| 精品成人国产在线观看男人呻吟| 91tv亚洲精品香蕉国产一区7ujn| 国产乱肥老妇国产一区二| 亚洲精品短视频| 最近更新的2019中文字幕| 亚洲高清福利视频| 久久久久久久久久婷婷| 亚洲黄在线观看| 中文字幕在线国产精品| 亚洲女人天堂视频| 亚洲色图狂野欧美| 久久中文久久字幕| 亚洲成人a级网| 欧美成人午夜激情| 狠狠躁夜夜躁人人爽超碰91| 欧美亚洲在线播放| 人人做人人澡人人爽欧美| 57pao成人国产永久免费| 美女黄色丝袜一区| 国产一区二区三区18| 亚洲va电影大全| 亚洲电影免费在线观看| 久久久免费精品| 久青草国产97香蕉在线视频| 欧美激情国产日韩精品一区18| 日本久久亚洲电影| 亚洲电影天堂av| 欧美中文在线观看国产| 高清日韩电视剧大全免费播放在线观看| 欧美激情一级精品国产| 欧亚精品在线观看| 久久久之久亚州精品露出| 91九色精品视频| 福利二区91精品bt7086| 日韩av影院在线观看| 国产精品jvid在线观看蜜臀| 亚洲最大福利网| 夜夜嗨av一区二区三区免费区| 一区二区在线视频| 国产精品美女主播| 久久久国产精品一区| 精品成人乱色一区二区| 亚洲第一中文字幕在线观看| 久久人人爽人人爽人人片av高清| 亚洲综合小说区| 久久福利视频网| 久久久久久久国产精品| 国产一区私人高清影院| 亚洲欧美三级在线| 日韩av电影手机在线| 国产精品日韩欧美综合| 国产精品99久久久久久白浆小说| 亚洲精品乱码久久久久久金桔影视| 中文字幕av一区二区| 欧美视频免费在线| 国产欧美日韩中文字幕| 亚洲国产又黄又爽女人高潮的| 欧美日韩视频在线| 伊人久久久久久久久久久| 国产成人精品视频| 日韩精品一区二区三区第95| 亚洲xxx视频| 最近2019中文免费高清视频观看www99| 亚洲第一区中文字幕| 国产v综合ⅴ日韩v欧美大片| 欧美激情精品久久久久久久变态| 国产欧美久久久久久| 国产精品99一区| 国产亚洲a∨片在线观看| 欧美日韩裸体免费视频| 亚洲女人天堂色在线7777| 日本高清+成人网在线观看| 国产精品美腿一区在线看| 欧美精品18videosex性欧美| 这里只有精品在线观看| 97免费中文视频在线观看| 久久久人成影片一区二区三区观看| 97精品国产97久久久久久| 欧美精品制服第一页| 日韩中文字幕久久| 亚洲专区中文字幕| 欧美日韩国产综合视频在线观看中文| 最新国产精品拍自在线播放| 国产精品扒开腿做爽爽爽视频| 中文字幕国产精品久久| 午夜精品一区二区三区在线| 亚洲综合在线小说| 亚洲国产小视频在线观看| 91中文在线观看| 色婷婷综合久久久久中文字幕1| 4444欧美成人kkkk| 亚洲成人激情小说| 成人a级免费视频| 久久久久久久久久国产| 久久久精品2019中文字幕神马| 视频一区视频二区国产精品| 亚洲男人的天堂在线| 亚洲天堂免费观看| 欧美国产日韩一区二区在线观看| 国产主播喷水一区二区| 岛国av一区二区| 久久免费视频网站| 亚洲美女性视频| 色多多国产成人永久免费网站| 欧美另类极品videosbest最新版本| 日韩电影中文字幕在线| 欧美激情视频网| 亚洲国产精品小视频| 欧美一级在线亚洲天堂| 在线观看免费高清视频97| 欧美精品videossex88| 欧美亚洲一级片| 欧美色另类天堂2015| 久久免费视频这里只有精品|