Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
238 / 49 / 6
Регистрация: 10.06.2012
Сообщений: 268
Записей в блоге: 1

Загрузить изображение из Интернета, вывести в PictureBox и удалить

04.05.2013, 22:18. Показов 3566. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа должна со страницы поиска Яндекс.Картинки загрузить самое первое изображение в результате поиска на компьютер, вывести в PictureBox и удалить его с диска пользователя. Если пользователю изображение не нравится, то он нажимает на кнопку и загружается второе и т.д.
Насколько это реально вообще сделать, если да, то как?

Есть наработка:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Public Sub DLFiles(strUrl As String, fileName As String)
On Error Resume Next
Dim b() As Byte
Inet1.Cancel
Inet1.Protocol = icHTTP
Inet1.URL = strUrl
b() = Inet1.OpenURL(, icByteArray)
Open fileName For Binary Access Write As #1
Put #1, , b()
Close #1
End Sub
 
Private Sub Command1_Click()
DLFiles "https://www.cyberforum.ru/images/icons/icon2.gif", "imgAlbum"
Picture1.Picture = App.Path & "/imgAlbum"
Kill (App.Path & "/imgAlbum")
End Sub
Загрузит файл (адрес указан в strUrl), выведет в PictureBox и удалит его.
Нужно подключить Inet1 компонент (Microsoft Internet Transform Control 6).
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.05.2013, 22:18
Ответы с готовыми решениями:

Изображение из PictureBox загрузить в DataGridView
Всем доброго времени суток! Такая проблема возникла, необходимо из pictureBox загрузить изображение в datagrid после чего сохранить его в...

Загрузить изображение в БД SQL из PictureBox
FileStream fStream = new FileStream("c:\\1.ico", FileMode.Open, FileAccess.Read); Byte imageBytes = new byte; Stream.Read(imageBytes,...

Загрузить изображение по ссылке в PictureBox
Как загрузить изображение из интернета в PictureBox? И (не обязательно, но если не сложно), как отображать процесс загрузки?

15
Заблокирован
05.05.2013, 06:47
Интернет-информер на форме, как реализовать

Только отображай не в браузере, а в PictureBox.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
05.05.2013, 10:52
Цитата Сообщение от Craw Посмотреть сообщение
Нужно подключить Inet1 компонент (Microsoft Internet Transform Control 6).
- так в чем дело? Подключай - все будет работать.
0
238 / 49 / 6
Регистрация: 10.06.2012
Сообщений: 268
Записей в блоге: 1
05.05.2013, 14:06  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
- так в чем дело? Подключай - все будет работать.
Я имел ввиду, что вам нужно его подключить, чтобы код работал у вас.

Ещё вместо
Visual Basic
1
Picture1.Picture = App.Path & "/imgAlbum"
нужно
Visual Basic
1
Picture1.Picture = LoadPicture(App.Path & "/imgAlbum")
, но это мелкий баг просто.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
05.05.2013, 14:14
Ты хочешь, чтобы я проверил работоспособность кода?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
05.05.2013, 14:22
Как и следовало ожидать - все работает:
Изображения
 
Вложения
Тип файла: zip t064.zip (5.7 Кб, 56 просмотров)
1
238 / 49 / 6
Регистрация: 10.06.2012
Сообщений: 268
Записей в блоге: 1
05.05.2013, 14:54  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
Как и следовало ожидать - все работает:
С этим и не было проблем никаких, как загрузить из Интернета картинку - я знал. А вопрос в том, как со страницы поиска в Яндекс.Картинки загрузить нужную, если адрес её заранее не известен.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
05.05.2013, 15:13
Адреса можно достать из кода страницы... Вручную или выделением контекста.
Visual Basic
1
2
3
4
5
6
7
Private Sub Command1_Click()
 
    DLFiles "http://yandex.st/images-thumbs/_/gAMnUZsuUu9X6ZamDhm6ZA5EgM.jpg", App.Path & "\111.jpg"
    Picture1.Picture = LoadPicture(App.Path & "\111.jpg")
    Kill App.Path & "\111.jpg"
 
End Sub
Изображения
 
0
238 / 49 / 6
Регистрация: 10.06.2012
Сообщений: 268
Записей в блоге: 1
05.05.2013, 15:35  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
из кода страницы
Вот тут можно поподробнее, как это сделать?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
05.05.2013, 18:02
Загружаем код страницы "яндекс-картики" в байтовый массив (с помощью MSInet); превращаем в строку; ищем в строке все вхождения "src="..."
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
05.05.2013, 18:45
Примитивное извлечение имен картинок:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Public Sub DLFiles(strUrl As String)
On Error Resume Next
Dim b() As Byte
       Me.List1.Clear
       Me.Inet1.Cancel
       Me.Inet1.Protocol = icHTTP
       Inet1.URL = strUrl
       b() = Inet1.OpenURL(, icByteArray)
       p& = UBound(b, 1)
       BigBuf$ = Space$(p& + 1)
       For i& = 0 To p&
           Mid$(BigBuf$, i& + 1, 1) = Chr$(b(i&))
       Next i&
       ppp& = 1
       Do
          k& = InStr(ppp&, BigBuf$, "src=")
          If k& = 0 Then Exit Do
          u& = InStr(k& + 5, BigBuf$, Chr$(34))
          Pic$ = Mid$(BigBuf$, k& + 7, u& - k& - 7)
          If Right$(Pic$, 4) = ".jpg" Or Right$(Pic$, 4) = ".gif" Or Right$(Pic$, 4) = ".png" Then
             Me.List1.AddItem Pic$
          End If
          ppp& = u&
       Loop
End Sub
Миниатюры
Загрузить изображение из Интернета, вывести в PictureBox и удалить  
Вложения
Тип файла: zip t064b.zip (6.1 Кб, 9 просмотров)
2
238 / 49 / 6
Регистрация: 10.06.2012
Сообщений: 268
Записей в блоге: 1
05.05.2013, 20:21  [ТС]
Из ссылок вида images.yandex.ru/yandsearch?text=xxx (http://images.yandex.ru/yandse... nk%20floyd)
находит только одну картинку - логотип.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
05.05.2013, 20:55
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Не понимаю... Доработал программу - теперь она показывает список картинок и грузит выбранную в PB. Вот, смотри:
Миниатюры
Загрузить изображение из Интернета, вывести в PictureBox и удалить   Загрузить изображение из Интернета, вывести в PictureBox и удалить   Загрузить изображение из Интернета, вывести в PictureBox и удалить  

Вложения
Тип файла: zip t064b.zip (7.4 Кб, 24 просмотров)
2
238 / 49 / 6
Регистрация: 10.06.2012
Сообщений: 268
Записей в блоге: 1
08.05.2013, 16:15  [ТС]
Это, конечно, хорошо ты сделал, но вот со страницы главной images.yandex.ru он без проблем загружает изображения, а вот если поиск определенного (в TextBox пользователь вводит), то открывается нужная страница (вида images.yandex.ru/yandsearch?text=xxx, где вместо ххх - значение текстбокса), и там находит лишь одно изображение - логотип Яндекса, и всё. Остальных нет.
Миниатюры
Загрузить изображение из Интернета, вывести в PictureBox и удалить  
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
08.05.2013, 16:40
Я не понял, какой адрес нужно ввести.
0
238 / 49 / 6
Регистрация: 10.06.2012
Сообщений: 268
Записей в блоге: 1
08.05.2013, 20:09  [ТС]
Суть данной программы - пользователь вводит в Textbox или появляющийся Inputbox слово или сочетание слов любых, нажимает на кнопку - программа загружает по его запросу картинку из поиска Яндекс. Это делается просто: в твоем коде открывается файл по адресу "images.yandex.ru/yandsearch?text=" с добавлением после значка "=" запроса автора (т.е. strUrl = "images.yandex.ru/yandsearch?text=" & Text1.Text например). Так вот находит лишь почему-то логотип Яндекса с таких страниц, пример на скриншоте выше.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.05.2013, 20:09
Помогаю со студенческими работами здесь

Как загрузить изображение в PictureBox?
Задача по нажатию на кнопку открыть файл(картинку и вывести ее в pictureBox1). Написал следующий код, но по нажатию на кнопку вылетает...

Не удаётся загрузить изображение из интернета
Уважаемые знатоки. Я написал небольшую функцию для загрузки изображения на интернет-страницу (для его последующего редактирования, поэтому...

При щелчке на PictureBox загрузить в него изображение
Помогите. У меня есть PictureBox при нажатии на который должнен вызыватся метод которому я передаю строку (имя самого PictureBox`a). Так...

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

Загрузить изображение из Stream в Image или в PictureBox
через диалог выбрал файл записал в Stream как мне теперь закинуть его в пиктури бокс ? напишите кто нибудь решение)) спасибо ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru