Картинки из WebBrowser в PictureBox

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Георгий2
Обычный пользователь
Обычный пользователь
 
Сообщения: 64
Зарегистрирован: 23.03.2006 (Чт) 21:29
Откуда: Тбилиси, Грузия

Картинки из WebBrowser в PictureBox

Сообщение Георгий2 » 06.04.2009 (Пн) 19:00

НЕ ДЛЯ АВТОКЛИКЕРА! Для совершенно законного скачивания с сайта allday.ru
Закачиваю сайт в WebBrowser, вытягиваю хтмл код, нахожу адреса картинок, по очереди загружаю картинки в WebBrowser - как теперь эти картинки перекидывать в PictureBox или в Image или в буфер?
В голову приходят такие варианты:
1. Эмулировать правый клик на WebBrowser – эмулировать клик на пункте Select All в контекстном меню – загрузить картинку из Clipboard в PictureBox
2. Эмулировать правый клик на картинке в WebBrowser – эмулировать клик на пункте Copy в контекстном меню – загрузить картинку из Clipboard в PictureBox
Большой плюс (для меня) что в этих вариантах картинка снимается полностью даже если она перекрыта другими контролами, можно сделать WebBrowser 1х1пиксель и снимать картинки
Минус – понятия не имею как это сделать
3. BitBlt – в принципе всё получается, но
Большой плюс – знаю как сделать, работает
Минус - картинки разного размера и надо определять эти размеры всяческими уродливыми (ну, это ж Я пишу прогу!) изврашениями типа перебора пикселей и нахождение пикселей цвета фона. Маразм! И WebBrowser должен быть на экране и картинки где-то в углу чередуются и разного размера – тоже уродство. Хоть бы в центре можно было расположить и чтоб размер под картинку автосайзовался бы! То есть желательно чтоб работа с картинками не наблюдалась пользователем, чё ему смотреть как картинки мелькают в WebBrowser ! То есть зашел на страницу-нажал на кнопку и картинки и адреса и описание в базе данных
4. Записывать картинки на диск и потом считывать - извращение, но всё таки хоть какой-то вариант, но как?

Прошу, посоветуйте что нибудь дельное, или хотя бы направьте где искать материал для изучения этой темы и около неё.

PS
Поиск советовать бесполезно - уже сутки сижу практически не вставая за компом, ищу, ни хрена не нашёл

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Картинки из WebBrowser в PictureBox

Сообщение dr.MIG » 06.04.2009 (Пн) 20:27

Ну почему WebBrowser все используют для каких-то извращений? :roll: Ведь, как я понял, необходимости отображать в нем страницу нет. Т.е. он используется только для получения HTML-кода. Что тогда мешает использовать для получения содержимого страницы что-гибудь, типа WinHTTP, перебирать все img, получать адрес картинки, скачивать её, сохранять на диск (URLDownloadToFile), а потом отображать в PictureBox?

Георгий2 писал(а):Записывать картинки на диск и потом считывать - извращение

Как будто WebBrowser не сохраняет картинки на диск :roll: .
Salus populi suprema lex

karlex
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 138
Зарегистрирован: 30.03.2009 (Пн) 20:25
Откуда: Пермский край, г.Кунгур

Re: Картинки из WebBrowser в PictureBox

Сообщение karlex » 06.04.2009 (Пн) 20:39

Георгий2
Извини, что там не отвечал, проблемка одна возникла.
Хотя я там принцип описал, как раз на подобии того, что ответил dr.MIG.

Про "эмуляции" всякие думаю лучше забыть, это очень некрасиво.
Все гениальное — просто!
-------------------------------------
Кто ищет — тот всегда найдет!
-------------------------------------
Лень — двигатель прогресса.
Прогресс — двигатель лени.

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Re: Картинки из WebBrowser в PictureBox

Сообщение arthur2 » 06.04.2009 (Пн) 21:49

Артур
 
   

Георгий2
Обычный пользователь
Обычный пользователь
 
Сообщения: 64
Зарегистрирован: 23.03.2006 (Чт) 21:29
Откуда: Тбилиси, Грузия

Re: Картинки из WebBrowser в PictureBox

Сообщение Георгий2 » 06.04.2009 (Пн) 22:02

dr.MIG.
“Ну почему WebBrowser все используют для каких-то извращений?”
Ну, знаете ли, неистребимоe племя ламеров никогда не признает оков, навязываемых авторитетами VB ! :D
Ну, а если серьёзно, то я настолько слабо разбираюсь, что поверьте, про «что-нибудь, типа WinHTTP» впервые слышу. К моему великому сожалению мои контакты с VB весьма эпизодические и происходят только тогда, когда встаёт какая-нибудь задача по жизни, так сказать. Отсюда и возмутительно фрагментарные знания. Я по жизни совсем не программер, я собственно, хе-хе, последние 32года своей жизни йогнутый кунфуист и качок. То есть практически всю сознательную (с 18) жизнь. Мне, собственно, по психофизиологии моей програмированием вредно даже заниматься, но это отдельный разговор. Столкнулся с задачей – решил при помощи For-Next и If-Then -и всё, знакомство с Do-While и Select Case откладывается до следующей встречи с VB. Такая вот печальная история. :D
Но, ближе к телу, как говорил Мопассан:
В данном случае видеть страницу надо – пользователь определяет нужно ли ему закачивать данные файлы как раз по визуальному параметру -речь-то идёт о графике-дизайне. Но я сейчас брошусь искать инфу по WinHTTP, потому что в любом случае возможность закачать файлы на диск решает мою проблему… а может вы подскажете как имея прямую ссылку на файл с jpg-ом закачать его при помощи ентого самого WinHTTP?
karlex
Ну, вы как всегда, мой спаситель! Так уж получается что ваши ответы мне больше всего помогают, собственно ваши ответы на мой вопрос и ваши сообщения в других темах как раз и подтолкнули меня и кроме графики я все проблемы решил, с тегами разобрался(насколько мне сейчас надо было), куски ваших кодов из других тем использовал. Ну, собственно и графика в принципе BitBlt-ом решается. Просто неизячно. Еслиб можно было сделать так чтоб WebBrowser изменял размеры под картинку...

Георгий2
Обычный пользователь
Обычный пользователь
 
Сообщения: 64
Зарегистрирован: 23.03.2006 (Чт) 21:29
Откуда: Тбилиси, Грузия

Re: Картинки из WebBrowser в PictureBox

Сообщение Георгий2 » 06.04.2009 (Пн) 22:21

Артур! Гениально! В первыq раз всё прошло на ура, точнее картинка закачалась на контрол, файл записался на винт, но массивом байтов не показывалось и адрес файла не показывало, но это и неважно. Хуже то что после первого раза не работае! Выдаёт систем ерор &H80070006. Что я не так делаю?

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Re: Картинки из WebBrowser в PictureBox

Сообщение arthur2 » 06.04.2009 (Пн) 22:38

ну я же не телепат :) А какое сообщение у ошибки?

А вообще - там нужно поиграться с флагами - когда фай берется из кеша, когда из сети, когда сохраняется в файл, в временный файл, когда напрямую пишется в пикчу... сейчас уже не помню - это я давно разбирался.

Может, кто ещё по теме что скажет - мне тоже интересно, тем более, что тогда я до конца так и недоразбирался )
Артур
 
   

Георгий2
Обычный пользователь
Обычный пользователь
 
Сообщения: 64
Зарегистрирован: 23.03.2006 (Чт) 21:29
Откуда: Тбилиси, Грузия

Re: Картинки из WebBrowser в PictureBox

Сообщение Георгий2 » 06.04.2009 (Пн) 22:49

точнее на заголовке формы пишет:System Error &H80070006(-2147024890) и ничего не происходит
а при некоторых флагах обычный msg и конец!
Run-time error '-2147024882 (8007000e)':
System Error &H80070006(-2147024890)

Георгий2
Обычный пользователь
Обычный пользователь
 
Сообщения: 64
Зарегистрирован: 23.03.2006 (Чт) 21:29
Откуда: Тбилиси, Грузия

Re: Картинки из WebBrowser в PictureBox

Сообщение Георгий2 » 06.04.2009 (Пн) 22:52

Ничего не понял - теперь опять работает!
Давайте я "потестю" и завтра отпишу

Георгий2
Обычный пользователь
Обычный пользователь
 
Сообщения: 64
Зарегистрирован: 23.03.2006 (Чт) 21:29
Откуда: Тбилиси, Грузия

Re: Картинки из WebBrowser в PictureBox

Сообщение Георгий2 » 06.04.2009 (Пн) 23:00

Чудеса! работает во всех позах!


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

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

Сейчас этот форум просматривают: Google-бот и гости: 56

    TopList