HttpWebRequest wr = (HttpWebRequest)HttpWebRequest.Create(textURL.Text);
wr.ContentType = "application/x-www-form-urlencoded";
wr.Accept = "*/*";
wr.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)";
HttpWebResponse myHttpWebResponse = (HttpWebResponse)wr.GetResponse();
StreamReader oStream = new StreamReade(myHttpWebResponse.GetResponseStream(), System.Text.Encoding.Default);
string res = oStream.ReadToEnd();MatchCollection Matches = Regex.Matches(res, "src=(\\S*)\\.jpe?g", RegexOptions.ExplicitCapture | RegexOptions.IgnoreCase);
if (!Matches.Count.Equals(0))
{
foreach (Match NextMatch in Matches)
{
//NextMatch.Value就是一个jpg图片的地址
System.Net.WebClient webClient = new System.Net.WebClient();
System.IO.Stream stream = webClient.OpenRead(NextMatch.ToString().Substring(5));
this.pictureBox.Image = Image.FromStream(stream);
stream.Dispose();
break;
}
}功能很简单,就是单击button之后,在pictureBox显示这个网址的jpg图片,功能可以实现,可是单击后速度很慢,这是为什么??求点指教~谢谢~
wr.ContentType = "application/x-www-form-urlencoded";
wr.Accept = "*/*";
wr.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)";
HttpWebResponse myHttpWebResponse = (HttpWebResponse)wr.GetResponse();
StreamReader oStream = new StreamReade(myHttpWebResponse.GetResponseStream(), System.Text.Encoding.Default);
string res = oStream.ReadToEnd();MatchCollection Matches = Regex.Matches(res, "src=(\\S*)\\.jpe?g", RegexOptions.ExplicitCapture | RegexOptions.IgnoreCase);
if (!Matches.Count.Equals(0))
{
foreach (Match NextMatch in Matches)
{
//NextMatch.Value就是一个jpg图片的地址
System.Net.WebClient webClient = new System.Net.WebClient();
System.IO.Stream stream = webClient.OpenRead(NextMatch.ToString().Substring(5));
this.pictureBox.Image = Image.FromStream(stream);
stream.Dispose();
break;
}
}功能很简单,就是单击button之后,在pictureBox显示这个网址的jpg图片,功能可以实现,可是单击后速度很慢,这是为什么??求点指教~谢谢~
解决方案 »
- 【200分】求解决webBrowser调用html页面JS
- c# 使用csgl gluBuild2DMipmaps 的问题
- 关于C#中的结构体长度问题,怎么不对?
- C# 键盘消息
- 在SQL Server2005中,怎么获取外键所在的表的字段的映射关系呢
- 谁有 asp.net的 ext 安装包
- 高份征集, 哪位老兄有 类似 微软 画图板的源代码, 有请发给我一份。可以加一百分
- 讨论:.net工程怎么进行集成测试,怎么设计测试用例
- c#如何实现链表的功能
- SuperSocket和HP-Socket哪个更好
- 有人知道Visual Studio 2005里面的Call Graph怎么用吗?
- 求一查询语句
可以考虑一下GDI中的方法,
或者干脆存成临时图片,然后显示
睁大眼睛看看,lz的代码里有处理图象的代码吗?就是下载一个图象而已和GDI有什么关系?
开辟内存存放Image能有多大的时间消耗?
lz如果图象比较大的话建议分流下载,不要一幅整图下载
那么我觉得主要时间可能都用在等待图片下载完成了。
这里用异步或者多线程并行下载的方法可能会好一些。(浏览器里面的图片都是多个同时下载的),
更进一步缩短加载时间的话,可以虑自己写一些东西支持progressive load了(就是你看到IE里面显示很大的图片的时候是一部分一部分显示的那种),不过这个比较麻烦,而且.Net里面的PictureBox也不支持。
我只是想让一个pictureBox能够快点显示一个网页上的jpg而已
哪位达人能给我一个好方法么
你把那个For each循环注释掉看看有多快?你可以用Stopwatch类来测量你的代码所需要的时间。
我只是想让一个pictureBox能够快点显示一个网页上的jpg而已
哪位达人能给我一个好方法么.........
LZ你是ZHU!