2009-07-10 164 views
0

我在VB.Net中使用WebBrowser控件来加载网站。此时,WebBrowser.Document.Images属性返回一组被认为是图像的HtmlElement。将HtmlElement转换为图像?

我想在这一点上做的是拿一个特定的HtmlElement代表一个图像,并将它变成一个System.Drawing.Image,以便我可以操纵它。但我无法弄清楚如何。

我的确尝试寻找答案,但没有提出任何答案。事实证明,'WebBrowser'似乎是一个非常流行的关键词。

任何人都可以指向正确的方向吗?

编辑:有人建议我使用HtmlElement的SRC属性来下载图像;但图像可以是动态的 - 这意味着我下载的图像可以与网站上的图像分开......所以,这对我的目的不起作用。

+0

尝试把图像元素到剪贴板中的图像下载到%TEMP%和初始化System.Drawing.Image对象。即Clipboard.SetData(browser1.document.images(1))。这是否有用? – shahkalpesh 2009-07-10 19:34:40

回答

3

我还没有与WebBrowser对象的工作,但是从图像,你应该能够以某种方式获取SRC属性,并使用,你可以做一个请求:

HttpWebRequest wr = (HttpWebRequest) WebRequest.Create(url); 
wr.Method = "GET"; 

和那么你应该能够处理响应流为图像:

Image img = System.Drawing.Image.FromStream(wr.GetResponse().GetResponseStream()); 
img.Save(...); 
+0

+1 HttpWebRequest。我没有意识到它有一个`GetResponseStream`方法。 – 2009-07-10 19:38:31

1

好了,接下来的时间,尝试IWebBrowser作为关键字。这应该引导您到MSDN文档。

我不积极,但我不认为你想要的东西可以直接完成。但是,你可以使用src属性通过IHTMLImgElement使用FromStream方法