Скопировать картинку из WebBrowser'a

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Скопировать картинку из WebBrowser'a

Сообщение Lumen » 05.09.2007 (Ср) 19:18

Всем привет!

Подскажите пожалуйста, как реализовать сабж.
Пока сделал вот так:
Код: Выделить всё
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Dim mDoc As HTMLDocument
Dim i As HTMLImg
Set mDoc = WebBrowser1.Document

Set i = mDoc.images(3)
URLDownloadToFile 0, i.src, App.Path + "\" + "temp.tmp", 0, 0
Picture1.Picture = LoadPicture(App.Path + "\" + "temp.tmp")
End Sub

Интересует вопрос, как сделать то же самое не скачивая картинку в файл и загружая её оттуда. Чую что без OLE не обойтись, но затрудняюсь с реализацией. Помогите пожалуйста...
Подпись проходит рефакторинг

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 05.09.2007 (Ср) 19:26

Качалка в Кирпичах.
Блин, скоро подпись себе такую поставлю :twisted:
Изображение

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Сообщение Lumen » 05.09.2007 (Ср) 20:01

tyomitch
Объясни пожалуйста тупому, как с помощью твоей качалки загрузить картинку, не сохраняя её в файл. И как к ней потом обратиться, чтобы запихнуть её в пикчербокс, а то я малость не догоняю.

Заранее спасибо.
Подпись проходит рефакторинг

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 06.09.2007 (Чт) 1:05

Lumen писал(а):Объясни пожалуйста тупому, как с помощью твоей качалки загрузить картинку, не сохраняя её в файл. И как к ней потом обратиться, чтобы запихнуть её в пикчербокс, а то я малость не догоняю.


Ещё один желающий прочитать n-ную строчку файла, не открывая его.

Так можно, но тебе не понравится.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 06.09.2007 (Чт) 1:12

Хакер писал(а):Ещё один желающий прочитать n-ную строчку файла, не открывая его.

С чего бы?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 06.09.2007 (Чт) 1:13

"С чего бы?" - это "Не вижу аналогии" или нечто другое?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 06.09.2007 (Чт) 1:14

С чего такой вывод?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 06.09.2007 (Чт) 1:15

С того, что для использования VB-шной LoadPicture нужно сохранять картинку в файл. Точно также, как для чтения файла нужно его открывать.

Автор конечно может написать свою LoadPicture, понимающую кучу форматов. Но ему едва ли этот вариант понравится.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 06.09.2007 (Чт) 1:47

А...
Так есть OleCreatePictureIndirect, OleLoadPicture, GDIплюсная всеформатная грузилка и обёртка к оной Тёмыча...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 06.09.2007 (Чт) 4:24

GSerg
Так первые два понимают мало форматов (не понимают jpg, gif и прочие широко распространённый в вебе). Насчёт GDI+ ничего сказать не могу. Не видел, не юзал.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.09.2007 (Чт) 11:27

Первые два понимают и JPEG, и GIF. Не понимают, из распространённых, PNG и TIFF.
Именно туда к ним и стекается стандартная LoadPicture, не прямо же в msvbvm разборщик форматов.
(Ты бы хоть проверял свои утверждения, раньше чем постить?)
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.09.2007 (Чт) 11:32

Автору на заглядение, пример через обёртку:

Код: Выделить всё
Private Sub Form_Load()
Set Picture = CreateImageFromUrl("http://bbs.vbstreets.ru/templates/subSilver/images/logo_phpBB.gif").Picture
End Sub


Какая-то версия обёртки лежит на http://mix.web.ur.ru/JPEG.zip (я уже не помню, последняя там или нет).
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 06.09.2007 (Чт) 14:18

(Ты бы хоть проверял свои утверждения, раньше чем постить?)


А я сверялся с MSDN.

Там написано:
Remarks
The stream must be in BMP (bitmap), WMF (metafile), or ICO (icon) format.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.09.2007 (Чт) 14:44

А лучше бы ты прочитал хотя бы первый заголовок из выдачи http://www.google.com/search?q=OleLoadPicture
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot], Yandex-бот и гости: 98

    TopList