picturebox加载图片的三种方法与网站验证码的抓取
第一种:(此方法比较笨)
在页面上隐藏几个需要改变页面上图片的picturebox,比如下面的picFrom
在需要改变图片的方法处先定义:
System.Resources.ResourceManagerresources=newSystem.Resources.ResourceManager(typeof(Form1));
然后就可以改变了(比如picTo的图片要改变成picFrom的图片)
this.picTo.Image=((System.Drawing.Image)(resources.GetObject("picFrom.Image")));
第二种:
使用FileStream对象,如下所示:
DimfsAsSystem.IO.FileStream 'Specifyavalidpicturefilepathonyourcomputer. fs=NewSystem.IO.FileStream("C:/WINNT/Web/Wallpaper/FlyAway.jpg", IO.FileMode.Open,IO.FileAccess.Read) PictureBox1.Image=System.Drawing.Image.FromStream(fs) fs.Close()
第三种(我认为是比较好的)
使用Image.FromFile方法在PictureBox控件中加载图片,该图片文件将在您启动应用程序时锁定。
在应用程序运行时,图片文件保持锁定。即使在运行时将Image属性设置为Nothing,图片文件仍将锁定。
PictureBox1.Image=Image.FromFile("C:/WINNT/Web/Wallpaper/FlyAway.jpg")
//默认页面请求 HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(DefaultUrl); request.Method="GET"; request.ContentType="application/x-www-form-urlencoded"; request.UserAgent="Mozilla/5.0(WindowsNT6.1;WOW64;rv:5.0.1)Gecko/20100101Firefox/5.0.1"; request.Accept="image/webp,*/*;q=0.8"; HttpWebResponseresponse=(HttpWebResponse)request.GetResponse(); Streamstream=response.GetResponseStream(); stringWebContent=newStreamReader(stream,System.Text.Encoding.UTF8).ReadToEnd(); //验证码请求 request=(HttpWebRequest)WebRequest.Create(CodeUrl); request.Method="GET"; request.ContentType="application/x-www-form-urlencoded"; request.UserAgent="Mozilla/5.0(WindowsNT6.1;WOW64;rv:5.0.1)Gecko/20100101Firefox/5.0.1"; request.Accept="image/webp,*/*;q=0.8"; request.CookieContainer=lCC;//!VeryImportant.!!! response=(HttpWebResponse)request.GetResponse(); response.Cookies=lCC.GetCookies(request.RequestUri); stream=response.GetResponseStream(); picCode.Image=Image.FromStream(stream); //stream.Dispose();
以上就是本文的全部内容了,希望大家能够喜欢。