private void downloadImage() { ImageDownload imageDownload = new ImageDownload(urlset, searchtxt); imageDownload.startThread(); dcmtDown.succCount += imageDownload.getSuccessCount(); isfinish = true; }
/// <summary> /// 解析document 下载图片 /// </summary> /// <param name="document"></param> private void downloadImage(object document) { //存放解析图片的url路径集合 HashSet<string> urlset = new HashSet<string>(); //判断document是否是HtmlDocument对象 HtmlDocument htducument = document as HtmlDocument; if (htducument != null) { mshtml.IHTMLImgElement imageElement = null; try { //循环HtmlDocument对象的图片集合数组 foreach (HtmlElement image in htducument.Images) { imageElement = (mshtml.IHTMLImgElement)image.DomElement; urlset.Add(imageElement.src); } } catch (Exception ex) { } } else { //如果document不是HtmlDocument对象则以文本方式解析 urlset = Utils.GetBaiduImageUrlList((string)document); } //加锁处理allUrlset lock (allUrlset) { urlset.ExceptWith(allUrlset); if (urlset.Count != 0) { allUrlset.UnionWith(urlset); } } if (urlset.Count != 0) { ImageDownload imageDownload = new ImageDownload(urlset, searchtxt); imageDownload.startThread(); succCount += imageDownload.getSuccessCount(); } }