婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 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蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲精品videosex极品| 欧美精品第1页| 亚洲一区二区三区四区五区中文| 26uuu另类欧美| 欧美大片免费久久精品三p| 91高清视频免费看| 欧美一卡二卡三卡| 欧洲亚洲精品在线| 337p亚洲精品色噜噜噜| 久久一区二区三区四区| 久久久777精品电影网影网| 久久精品欧美一区二区三区麻豆| 欧美一区二区三区在| 久久免费偷拍视频| 国产乱人伦精品一区二区在线观看| 免费在线观看不卡| 高清国产午夜精品久久久久久| 91日韩精品一区| 欧美猛男gaygay网站| 欧美国产在线观看| 亚洲一区二区三区中文字幕在线| 久久综合色之久久综合| 亚洲欧美另类图片小说| 美女任你摸久久| 久久国产精品99久久人人澡| 国产成人高清视频| 色88888久久久久久影院野外| 日韩一级片在线观看| 亚洲精品中文在线| 国产一区福利在线| 久久蜜桃av一区精品变态类天堂| 国产免费观看久久| 久久精品国产99久久6| 欧美在线观看视频一区二区三区| 国产福利一区二区三区视频在线 | 亚洲国产一二三| 国产亚洲精品aa午夜观看| 另类小说综合欧美亚洲| 性久久久久久久| 91精品在线免费| 亚洲在线视频网站| 欧美三级在线看| 韩国理伦片一区二区三区在线播放| 久久久久99精品国产片| 99久久久久久99| 青青国产91久久久久久| 国产片一区二区| 91精品1区2区| 国产一区二区网址| 亚洲日本欧美天堂| 日韩精品一区二| 成人小视频免费观看| 又紧又大又爽精品一区二区| 欧美一区二区免费| 99精品热视频| 国产69精品久久久久毛片| 9色porny自拍视频一区二区| 亚洲欧美乱综合| 欧美在线一二三| 成人欧美一区二区三区1314| 暴力调教一区二区三区| 欧美精品在线观看播放| 蜜桃传媒麻豆第一区在线观看| 欧美日韩精品一区二区在线播放| 亚洲欧洲三级电影| 日韩欧美一级二级三级| 精品在线一区二区三区| 成人一区在线观看| 亚洲成人中文在线| 亚洲欧美在线另类| 欧美三级电影在线看| 欧美成人官网二区| 一区二区三区在线视频免费 | 在线播放中文字幕一区| 欧美国产视频在线| 日本一区二区三区免费乱视频| 国产精品一二三区| 国产日产精品1区| 国产精品久线在线观看| 97久久超碰国产精品| 国产主播一区二区| 国产一区二区三区| 亚洲成va人在线观看| 久久久精品影视| 日韩一区二区三区免费看| 色综合久久天天| 久久久99久久精品欧美| 精品国产露脸精彩对白| 亚洲免费观看高清| 亚洲欧美色图小说| 欧美激情一区二区三区不卡| 中文欧美字幕免费| 亚洲一区二区三区四区五区黄| 看片网站欧美日韩| 色域天天综合网| 欧美成人国产一区二区| 在线播放视频一区| 欧美一区二视频| 三级不卡在线观看| 中文字幕日韩精品一区 | 欧美亚洲一区三区| 久久夜色精品国产欧美乱极品| 五月激情丁香一区二区三区| 不卡的av中国片| xnxx国产精品| 国产主播一区二区| 久久久久久久久久久黄色| 午夜精品福利在线| 美女视频黄a大片欧美| 久久午夜羞羞影院免费观看| 奇米一区二区三区av| 26uuu色噜噜精品一区二区| 美国十次了思思久久精品导航| 91精品国产综合久久小美女| 蜜臀av一区二区三区| 国产午夜精品一区二区三区嫩草| 极品少妇xxxx精品少妇偷拍| www日韩大片| 国产91精品一区二区麻豆网站 | 日本系列欧美系列| 91精品欧美久久久久久动漫| 日韩一区欧美二区| 亚洲成人免费电影| 久久久国产精品午夜一区ai换脸| 国产成人在线色| 亚洲免费av网站| 欧美精品精品一区| av亚洲精华国产精华精| 成人理论电影网| 精品一区免费av| 亚洲伊人色欲综合网| 日韩一级高清毛片| 国产乱色国产精品免费视频| 亚洲一区国产视频| 久久久噜噜噜久噜久久综合| 国产一区美女在线| 国产乱人伦精品一区二区在线观看| 人人超碰91尤物精品国产| 9191久久久久久久久久久| 久久夜色精品国产欧美乱极品| 粉嫩高潮美女一区二区三区 | 欧美国产日产图区| 色综合久久久久网| 国产精品二区一区二区aⅴ污介绍| 国产精品1024久久| 欧美国产激情一区二区三区蜜月 | 色悠悠亚洲一区二区| 国产精品资源在线观看| 一区二区三区四区乱视频| 91传媒视频在线播放| 91国偷自产一区二区开放时间 | 国产日韩欧美一区二区三区综合| 色噜噜久久综合| 婷婷激情综合网| 亚洲伦理在线精品| 久久婷婷国产综合精品青草| 91黄色免费网站| 亚洲免费观看高清完整版在线观看| 欧美成人伊人久久综合网| 91亚洲资源网| 国产成a人无v码亚洲福利| 久久不见久久见免费视频7| 亚洲一二三四在线| 日韩写真欧美这视频| 欧美高清视频一二三区 | 色狠狠色噜噜噜综合网| 国产一区二区三区高清播放| 国产91精品一区二区麻豆亚洲| 精品久久久久久亚洲综合网| 精品视频资源站| 日韩成人av影视| 精品美女被调教视频大全网站| 91黄色激情网站| 欧美精品久久天天躁| 久久成人麻豆午夜电影| 国产999精品久久| 在线观看日韩av先锋影音电影院| 91在线观看地址| 精品粉嫩超白一线天av| 日韩中文字幕一区二区三区| 国产欧美精品在线观看| 欧美一级国产精品| av中文字幕在线不卡| 91麻豆123| 亚洲精品欧美在线| 一本久道久久综合中文字幕| 欧美日韩精品一区二区三区蜜桃| 全国精品久久少妇| 91丝袜美腿高跟国产极品老师| 91精品国产综合久久福利| 亚洲成人av一区二区三区| 国产精品资源在线观看| 国产欧美综合在线观看第十页| 国产在线播精品第三| 免费的成人av| 日韩一级二级三级| 美国毛片一区二区三区| 26uuu精品一区二区| 成人av在线一区二区三区| 国产精品久99|