Преобразование HtmlElement в изображение? - PullRequest
0 голосов
/ 10 июля 2009

Я использую элемент управления WebBrowser в VB.Net для загрузки веб-сайта. В этот момент свойство WebBrowser.Document.Images возвращает коллекцию HtmlElement, которая считается изображением.

На данный момент я пытаюсь сделать определенный HtmlElement, представляющий изображение, и превратить его в System.Drawing.Image, чтобы я мог манипулировать им. Но я не могу понять, как.

Я пытался найти ответ, но ничего не нашел. Оказывается, WebBrowser - действительно популярное ключевое слово.

Кто-нибудь может указать мне правильное направление?

РЕДАКТИРОВАТЬ: Было предложено использовать атрибут SRC HtmlElement для загрузки изображения; но изображение может быть динамическим - это означает, что загружаемое мной изображение может быть отделено от изображения на веб-сайте .... так что это не будет работать для моих целей.

Ответы [ 2 ]

3 голосов
/ 10 июля 2009

Я не работал с объектом WebBrowser, но по изображению вы должны каким-то образом получить атрибут src, и с его помощью вы можете сделать запрос на это:

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

и тогда вы сможете обрабатывать поток ответов как изображение:

Image img = System.Drawing.Image.FromStream(wr.GetResponse().GetResponseStream());
img.Save(...);
1 голос
/ 10 июля 2009

Хорошо, в следующий раз попробуйте IWebBrowser в качестве ключевого слова. Это должно привести вас к документации MSDN.

Я не уверен, но я не думаю, что то, что вы хотите, может быть сделано напрямую. Однако вы можете использовать свойство src через IHTMLImgElement , чтобы загрузить изображение в %TEMP% и инициализировать объект System.Drawing.Image, используя метод FromStream

...