校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > ASP.NET圖片處理三類經典問題

ASP.NET圖片處理三類經典問題

熱門標簽:西寧電銷外呼系統公司 寧德防封版電銷卡 聊城智能電銷機器人電話 安陸市地圖標注app 云南外呼系統代理 辦公用地圖標注網點怎么操作 上海市三維地圖標注 海東防封電銷卡 南昌自動外呼系統線路

 我們在做web程序的時候經常會遇到一些圖片處理的問題,今天就把遇到的需要圖片處理的地方給總結一下。也算是對自己學習過程的一個總結,希望也能給大家一些啟發。
一、驗證碼。
我們在某些網站注冊或者登錄的時候,都可能遇到要填寫驗證碼的地方,當時沒搞懂這樣的圖片是怎樣一回事,事實上這是一張隨機生成的圖片,需要在后臺專門新建一個aspx頁或者ashx一般程序處理頁來專門負責生成這樣的圖片。下面就通過示例向大家演示這樣的一個過程!
首先我們新建一個登錄頁,模擬用戶登錄。代碼如下: 

div>
 table>
 tr>td>賬號:/td>td>
  asp:TextBox ID="TextBox1" runat="server">/asp:TextBox>/td>/tr>
 tr>td>密碼:/td>td>
  asp:TextBox ID="TextBox2" runat="server" TextMode="Password">/asp:TextBox>/td>/tr>
 tr>td>驗證碼:/td>td>
  asp:Image ID="Image1" runat="server" ImageUrl="ValidateNo.aspx" />/td>/tr>
 tr>td>請輸入:/td>td>
  asp:TextBox ID="txtyzm" runat="server">/asp:TextBox>/td>/tr>
  tr>td>
   asp:Button ID="btndl" runat="server" Text="登錄" onclick="btndl_Click" />/td>td>
    asp:Button ID="Button2" runat="server" Text="取消" CausesValidation=false />/td>/tr>
 /table>
 /div>

布局如圖:

然后再新建一個ValidateNo.aspx頁,用來生成驗證碼圖片,在這個aspx頁中只需要在構造函數中寫如下代碼即可:

protected void Page_Load(object sender, EventArgs e)
  {
   Random r = new Random();
   int i = r.Next(1000, 9999);//生成一個四位的隨機數
   Bitmap bit = new Bitmap(100, 40);//生成一個尺寸為100,40的位圖
   Graphics g = Graphics.FromImage(bit);//創建一個繪圖實例,并以上邊創建的的位圖為畫板,當然這里邊也以選擇一張已有的圖片作為畫板。只需要將FromImage()里的參數換位已存在的Image對象即可
   g.DrawLine(new Pen(Brushes.Blue), new Point(0, 10), new Point(100, 10));
   g.DrawLine(new Pen(Brushes.GreenYellow), new Point(0, 25), new Point(100, 25));//畫兩條直線,起到一定的模糊驗證的碼的效果
   g.DrawString(i.ToString(), new Font("宋體", 30), Brushes.Green, new PointF(0, 0));//將生成的四位數的驗證碼繪到該畫板上
   bit.Save(Response.OutputStream, ImageFormat.Jpeg);//將該位圖保存為JPEG的格式
   Session["ValidateNo"] = i.ToString();//Seession值保存生成的驗證碼的值,以便在登錄的時候和用戶輸入的驗證碼的值做比較
   Response.ContentType = "image/jpeg";//將輸入類型改為“Image/jpeg"
   Response.End();
  }

剛剛我們在代碼里有說到將生成的隨機驗證碼保存在seesion中,那么我們在登錄的時候就可以根據session中值的和用戶輸入的值做比較,以此來判斷用戶輸入驗證碼是否正確,所以我們在登錄頁的aspx.cs頁做出這樣的處理:(這里只是模擬測試,在實際的開發中,如果驗證碼、密碼、賬號都正確的話,就會導向新的頁面)

protected void btndl_Click(object sender, EventArgs e)
  {
   if (Session["ValidateNo"] != null)
   {
    string s = Session["ValidateNo"].ToString();
    if (txtyzm.Text != s)
    {
     Response.Write("script>alert('"+s+"')/script>");
    }
    else
    {
     Response.Write("script>alert('OK')/script>");
    }
   }
   else
   {
    Response.Write("script>alert('驗證碼暫不存在!')/script>");
   }
  }

二、給圖片加文字

有時候我們會看到有些個人空間或主頁的圖片都加有相應的文字,就像騰訊微博那種發一張圖片會顯示騰訊微博字樣。下面我就給大家展示下如何在圖片上添加文字。

首先我們新建一個aspx頁,頁面布局如下:

 table style="background:lightblue">tr>td>選擇上傳文件:/td>td>asp:FileUpload ID="FileUpload1" runat="server" />/td>td>
   asp:Button ID="btnupload" runat="server" Text="上傳圖片"
    onclick="btnupload_Click" />/td>/tr>
  tr>td colspan="3">
   asp:Image ID="TouXiang" runat="server" />/tr>
 /table> 
然后我們在btnuplod按鈕的Click事件的處理函數中做如下操作:
 
protected void btnupload_Click(object sender, EventArgs e)
  {
   if (FileUpload1.FileName.Trim() != "")
   {
    string extension = Path.GetExtension(FileUpload1.FileName);//先獲取文件的后綴
    string fileName = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Minute.ToString();//以當前的日期,以年月分的格式為上傳的圖片重命名
    string path = Server.MapPath(".")+"\\images\\"+fileName + extension;
    FileUpload1.PostedFile.SaveAs(path);//將圖片保存在指定路徑下
    Bitmap img = new Bitmap(path);//新建一個Bitmap對象并以此為畫板
    Graphics g = Graphics.FromImage(img);
    g.DrawString("Hello Olive!", new Font("宋體", 30), Brushes.GreenYellow, new PointF(20,20) );//將"Hello Olive"書寫在圖片的(20,20)處
    g.Dispose();
    newPath = Server.MapPath(".") + "\\images\\" + fileName + "_New" + extension;
    img.Save(newPath);//將加有文字的圖片重新命名并保存,并刪除原來的圖片
    img.Dispose();
    if (File.Exists(path))
    {
     File.Delete(path);
    }
    touxiangpath="~/images/" + fileName + "_New" + extension;
   }
   else
   {
    Response.Write("script>alert('請先選擇要上傳的文件!')/script>");
   }
  }

效果如圖:

三、生成略縮圖
現在的很多博客、個人主頁、空間之類的都有編輯個人信息的設置,在編輯個人信息的時候都可能會需要上傳頭像,下面我們來講一下如何生成略縮頭像。
頁面布局的話我們還是引用上邊的布局:
但是要在table>/table>再加一行,用來顯示生成的略縮圖。
首先我們需要新建一個CutImage類CutImage.cs,專門用來對圖片進行縮放,如下:
       /// summary>(該圖片縮放的代碼參考自博客園博主king-兩色天)
        /// 截取圖片
        /// /summary>
        /// param name="oPath">原圖片路徑/param>
        /// param name="nPaht">新圖片路徑/param>
        /// param name="w">略縮圖的寬度/param>
        /// param name="h">略縮圖的高度/param>
        /// param name="mode">截取模式/param>
 代碼:   

public static void CutImg(string oPath, string nPaht, int w, int h,string mode)
  {
   Image oimg = Image.FromFile(oPath);
   int nToWidth = w;
   int nToHeight = h;
   int x = 0;
   int y = 0;
   int oWidth = oimg.Width;
   int oHeight = oimg.Height;
   switch (mode)
   {
    case "HW"://按照指定的寬高進行縮放,可能變形
     break;
    case "W"://指定寬度,高按比例縮放
     nToHeight = oWidth * oHeight / nToWidth;
     break;
    case "H"://指定高度,寬按比例縮放
     nToWidth=oWidth*oHeight/nToHeight;
     break;
    case "CUT"://按照指定的寬、高縮放
     if ((oimg.Width / oimg.Height) > (nToWidth / nToHeight))
     {
      oHeight = oimg.Height;
      oWidth = oimg.Height * nToWidth / nToHeight;
      y = 0;
      x = (oimg.Width - oWidth) / 2;
     }
     else
     {
      oWidth = oimg.Width;
      oHeight = oimg.Width * nToHeight / nToWidth;
      x = 0;
      y = (oimg.Height - oHeight) / 2;
     }
     break;
    default: break;
   }
   //新建一個BMP圖片
   Image bitmap = new Bitmap(nToWidth, nToHeight);
   //新建一個畫板
   Graphics gp = Graphics.FromImage(bitmap);
   gp.InterpolationMode = InterpolationMode.High;
   gp.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
   //清空畫布,并以背景色為透明色填充
   gp.Clear(Color.Transparent);
   gp.DrawImage(oimg, new Rectangle(0, 0, nToWidth, nToHeight), new Rectangle(x, y, oWidth, oHeight), GraphicsUnit.Pixel);//繪制出新的略縮圖
   try
   {
    bitmap.Save(nPaht, System.Drawing.Imaging.ImageFormat.Jpeg);
   }
   catch(Exception e)
   {
    throw e;
   }
   finally
   {
    oimg.Dispose();
    bitmap.Dispose();
   }
  }

然后我們的aspx頁的btnupload按鈕的Click事件的處理函數代碼如下:

 protected void btnupload_Click(object sender, EventArgs e)
  {
   if (FileUpload1.FileName.Trim() != "")
   {
     //.......
     //.......前邊都省略了代碼是一樣的
      if (File.Exists(path))
    {
     File.Delete(path);
    }
    string p = Server.MapPath(".") + "\\images\\";
    touxiangpath="~/images/" + fileName + "_New" + extension;
    TouXiang.ImageUrl = touxiangpath;
    CutImage.CutImg(newPath, p+"olive.jpg", 100, 200, "CUT");//調用縮放圖片的類CutImage的CutImg函數,這里直接保存為了“olive.jpg"是為了方便下面的引用顯示,也可保存為其他的名稱和格式。
     luesuotu.ImageUrl = "~/images/olive.jpg";
   } 
   else
   {
    Response.Write("script>alert('請先選擇要上傳的文件!')/script>");
   }
  }

生成效果如圖:

為了方便大家的使用我已經把圖片縮放功能封裝成了一個類,里邊還有其他的一些縮放的功能,已經導出了類模板,有興趣的朋友可以點擊下載ImageCut.zip,希望可以給大家一些幫助。

您可能感興趣的文章:
  • Asp.net FileUpload+Image制作頭像效果示例代碼
  • asp.net顯示圖片到指定的Image控件中 具體實現
  • asp.net驗證碼圖片生成示例
  • ASP.NET實現圖片以二進制的形式存入數據庫
  • 使用asp.net改變網頁上圖片顏色比如灰色變彩色
  • 使用asp.net改變圖片顏色如灰色的變成彩色
  • Asp.net簡單實現給圖片增加文字水印
  • ASP.NET簡單好用功能齊全圖片上傳工具類(水印、縮略圖、裁剪等)
  • ASP.NET中圖片顯示方法實例
  • Asp.Net上傳圖片同時生成高清晰縮略圖
  • asp.net文件上傳解決方案(圖片上傳、單文件上傳、多文件上傳、檢查文件類型)
  • asp.net fileupload控件上傳圖片并預覽圖片
  • ASP.NET圖片上傳實例(附源碼)
  • ASP.NET實現上傳圖片并生成縮略圖的方法
  • asp.net實現圖片以二進制流輸出的兩種方法
  • ASP.NET中Image控件使用詳解

標簽:汕尾 平涼 崇左 青海 贛州 南寧 洛陽 衢州

巨人網絡通訊聲明:本文標題《ASP.NET圖片處理三類經典問題》,本文關鍵詞  ASP.NET,圖片,處理,三類,經典,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET圖片處理三類經典問題》相關的同類信息!
  • 本頁收集關于ASP.NET圖片處理三類經典問題的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    麻豆91免费观看| 91猫先生在线| 在线亚洲+欧美+日本专区| 日韩午夜小视频| 亚洲一区在线观看网站| 成人av在线电影| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 久久品道一品道久久精品| 国产精品电影院| 国产精品一二三四| 91精品国产综合久久香蕉的特点 | 日韩亚洲国产中文字幕欧美| 亚洲精品你懂的| 99久久久无码国产精品| 欧美电影免费提供在线观看| 香蕉影视欧美成人| 91福利小视频| 一区二区三区欧美| 色综合激情五月| 国产精品久久久一本精品| 久草精品在线观看| 精品成人a区在线观看| 日韩国产精品久久| 5566中文字幕一区二区电影| 亚洲成人免费在线| 欧美日韩在线播| 亚洲综合男人的天堂| 欧美亚洲国产一区二区三区| 一区二区三国产精华液| 在线精品视频一区二区| 亚洲女同一区二区| 日本乱人伦aⅴ精品| 一级女性全黄久久生活片免费| 91啪亚洲精品| 一区二区三区精品在线| 欧美亚洲日本国产| 日本视频在线一区| 欧美精品一区二区三区四区 | 日本系列欧美系列| 精品少妇一区二区三区视频免付费| 日本不卡一区二区三区高清视频| 欧美精品在线一区二区| 另类调教123区| 国产午夜精品一区二区三区四区| 成人国产精品免费观看动漫| 亚洲欧美国产毛片在线| 欧美日韩一本到| 麻豆专区一区二区三区四区五区| 精品美女被调教视频大全网站| 国产精品一区二区无线| 中文字幕一区三区| 欧美肥妇bbw| 国产a级毛片一区| 亚洲成av人片一区二区梦乃| 日韩欧美国产三级电影视频| 丁香另类激情小说| 亚洲午夜免费视频| 欧美本精品男人aⅴ天堂| 高清不卡一区二区| 日韩av中文字幕一区二区三区| 精品国产1区2区3区| 91女神在线视频| 爽好多水快深点欧美视频| 久久人人超碰精品| 精品视频在线免费观看| 韩国一区二区视频| 一区二区三区色| 久久欧美一区二区| 欧美视频日韩视频在线观看| 国产酒店精品激情| 午夜电影网一区| 国产精品成人一区二区三区夜夜夜| 欧美麻豆精品久久久久久| 成人深夜视频在线观看| 日韩国产高清在线| 亚洲欧美激情小说另类| 久久综合九色综合欧美98| 欧美网站一区二区| 波多野结衣中文一区| 蜜桃视频在线观看一区| 亚洲欧美一区二区久久| 久久久久国产成人精品亚洲午夜| 欧美日韩国产小视频在线观看| 丁香婷婷综合五月| 久久99精品国产91久久来源| 亚洲综合一区二区| 国产精品电影一区二区三区| 欧美mv日韩mv亚洲| 在线综合+亚洲+欧美中文字幕| 91丝袜美腿高跟国产极品老师 | 一区二区三区成人| 国产无遮挡一区二区三区毛片日本| 欧美人妇做爰xxxⅹ性高电影| 成人h动漫精品| 成人一区在线看| 国产大片一区二区| 国产美女一区二区三区| 美女视频一区二区| 蜜乳av一区二区| 日本不卡一二三| 日本v片在线高清不卡在线观看| 亚洲一区二区三区中文字幕| 国产精品毛片大码女人| 国产欧美va欧美不卡在线| 久久伊人中文字幕| 精品久久国产字幕高潮| 欧美一级欧美一级在线播放| 欧美乱妇20p| 欧美一区二区三区视频免费 | 亚洲欧美自拍偷拍色图| 欧美国产一区视频在线观看| 久久久久国产精品人| 久久精品一二三| 中文字幕精品综合| 国产精品久久久久久久久图文区 | 国产91富婆露脸刺激对白| 久久99国产精品尤物| 国产在线视频不卡二| 国产乱码精品一品二品| 国产福利精品一区二区| 成人动漫一区二区在线| 色综合亚洲欧洲| 欧美日韩国产精选| 精品久久一区二区三区| 国产欧美一区二区三区在线看蜜臀| 中文字幕欧美三区| 亚洲伊人伊色伊影伊综合网| 婷婷中文字幕一区三区| 久久精品久久99精品久久| 国产精品一区二区三区乱码| 99久久综合99久久综合网站| 日本福利一区二区| 欧美大片一区二区| 国产精品久久久久久妇女6080 | 一区二区三区丝袜| 日韩二区在线观看| 国产成人精品影院| 欧美亚洲禁片免费| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 欧美性猛交xxxx乱大交退制版| 欧美日本视频在线| 国产网站一区二区三区| 亚洲精品伦理在线| 麻豆成人在线观看| 一本色道久久综合精品竹菊| 欧美一区二区视频观看视频| 日本一区二区三区免费乱视频| 一区二区高清免费观看影视大全 | 92国产精品观看| 欧美一区二区观看视频| 国产精品欧美极品| 日韩国产在线观看一区| 成+人+亚洲+综合天堂| 欧美妇女性影城| 中文字幕中文乱码欧美一区二区| 午夜精品福利视频网站| 不卡的看片网站| 日韩精品中文字幕在线一区| 亚洲女人的天堂| 国产伦精品一区二区三区免费迷| 色国产精品一区在线观看| 国产午夜亚洲精品理论片色戒| 亚洲v中文字幕| 91在线观看成人| 久久精品亚洲精品国产欧美 | 欧美猛男男办公室激情| 国产精品夫妻自拍| 国产麻豆9l精品三级站| 欧美一级专区免费大片| 亚洲线精品一区二区三区八戒| 成人综合激情网| 久久一留热品黄| 免费人成精品欧美精品| 欧美性色欧美a在线播放| 国产精品视频看| 国产乱理伦片在线观看夜一区| 欧美日韩不卡一区| 玉米视频成人免费看| 成人在线视频首页| 国产欧美1区2区3区| 久久99精品国产麻豆不卡| 欧美一级黄色片| 麻豆精品新av中文字幕| 91精品综合久久久久久| 五月天久久比比资源色| 欧美色涩在线第一页| 亚洲女女做受ⅹxx高潮| 91最新地址在线播放| 国产精品久久久久影院亚瑟| 成人av免费在线播放| 国产精品青草久久| 不卡一区中文字幕| 中文字幕日韩精品一区| 国产成人啪免费观看软件 | 精品美女在线播放| 国产在线精品一区二区不卡了| 欧美成人aa大片| 精品一区二区三区影院在线午夜 | 欧美性受xxxx| 午夜精品久久久久久|