为什么我的效率这么慢?

AllenCpp 2007-07-08 07:04:07
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图片,功能可以实现,可是单击后速度很慢,这是为什么??求点指教~谢谢~
...全文
288 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
chaome71283 2007-07-10
  • 打赏
  • 举报
回复
这里不牵涉到下载......
我只是想让一个pictureBox能够快点显示一个网页上的jpg而已


哪位达人能给我一个好方法么

.........
LZ你是ZHU!
jonnyyu 2007-07-09
  • 打赏
  • 举报
回复
一个网页上的jpg?这个jpg是本地路径或者是在本机的Web服务器上吗?如果不是那么还是要通过网络下载吧?

首先确定是哪里慢吧。
你把那个For each循环注释掉看看有多快?你可以用Stopwatch类来测量你的代码所需要的时间。
AllenCpp 2007-07-09
  • 打赏
  • 举报
回复
顶!!
AllenCpp 2007-07-08
  • 打赏
  • 举报
回复
这里不牵涉到下载......
我只是想让一个pictureBox能够快点显示一个网页上的jpg而已


哪位达人能给我一个好方法么
jonnyyu 2007-07-08
  • 打赏
  • 举报
回复
如果你的图片都是要通过网络获取的
那么我觉得主要时间可能都用在等待图片下载完成了。
这里用异步或者多线程并行下载的方法可能会好一些。(浏览器里面的图片都是多个同时下载的),
更进一步缩短加载时间的话,可以虑自己写一些东西支持progressive load了(就是你看到IE里面显示很大的图片的时候是一部分一部分显示的那种),不过这个比较麻烦,而且.Net里面的PictureBox也不支持。
xinaideren3021 2007-07-08
  • 打赏
  • 举报
回复
不管遇到什么事情都不管三七二十一就怪.net速度慢
睁大眼睛看看,lz的代码里有处理图象的代码吗?就是下载一个图象而已和GDI有什么关系?
开辟内存存放Image能有多大的时间消耗?
lz如果图象比较大的话建议分流下载,不要一幅整图下载
wxy0401 2007-07-08
  • 打赏
  • 举报
回复
用多线程来处理图像的显示。
AllenCpp 2007-07-08
  • 打赏
  • 举报
回复
我只是想知道如何解决.....
zjh222 2007-07-08
  • 打赏
  • 举报
回复
.Net处理图像就是慢,没有办法
zbjg 2007-07-08
  • 打赏
  • 举报
回复
建议读到图片流之后直接显示出来,
可以考虑一下GDI中的方法,
或者干脆存成临时图片,然后显示

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧