picturebox加载图片的三种方法与网站验证码的抓取
第一种:(此方法比较笨)
在页面上隐藏几个需要改变页面上图片的picturebox,比如下面的picFrom
在需要改变图片的方法处先定义:
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1));
然后就可以改变了(比如picTo的图片要改变成picFrom的图片)
this.picTo.Image = ((System.Drawing.Image)(resources.GetObject("picFrom.Image")));
第二种:
使用 FileStream 对象,如下所示:
Dim fs As System.IO.FileStream ' Specify a valid picture file path on your computer. fs = New System.IO.FileStream("C:/WINNT/Web/Wallpaper/Fly Away.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/Fly Away.jpg")
//默认页面请求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(DefaultUrl);
request.Method = "GET";
request.ContentType = "application/x-www-form-urlencoded";
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0.1) Gecko/20100101 Firefox/5.0.1";
request.Accept = "image/webp,*/*;q=0.8";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream stream = response.GetResponseStream();
string WebContent = new StreamReader(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 (Windows NT 6.1; WOW64; rv:5.0.1) Gecko/20100101 Firefox/5.0.1";
request.Accept = "image/webp,*/*;q=0.8";
request.CookieContainer = lCC;//!Very Important.!!!
response = (HttpWebResponse)request.GetResponse();
response.Cookies = lCC.GetCookies(request.RequestUri);
stream = response.GetResponseStream();
picCode.Image = Image.FromStream(stream);
//stream.Dispose();
以上就是本文的全部内容了,希望大家能够喜欢。