purebasic.info

PureBasic forum
Текущее время: Сб авг 18, 2018 2:17 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Drop Image из браузера
СообщениеДобавлено: Чт янв 18, 2018 9:03 am 
Не в сети
студент

Зарегистрирован: Чт янв 18, 2018 8:49 am
Сообщений: 5
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Приветствую, форумчане!
Уже давненько работаю над программкой, которая упрощает просмотр сериалов(для личного пользования).
Так вот, спортивного интереса ради впихнул туда добавление изображений для каждого сериала(для эстетики, что ли :mrgreen: ), но это работает лишь с теми изображениями, которые находятся непросредственно на ПК(DropGadget), что не ахти удобно в плане добавления.
И, как следствие, появилась мысля добавить возможность закидывать изображения прямиком из бразуера, таким же макаром.
Так как в бейсике не слишком силен, а рытье форумов особого результата не принесло(хотя, может и рыл плохо, допускаю), прошу помощи в данном вопросе.
Для понимания картины и представления конечного результата, даю экзешник той самой проги - https://yadi.sk/d/ox3cZDfw3R9smN
Буду очень благодарен, если кто сможет подсобить в этом деле! :?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Drop Image из браузера
СообщениеДобавлено: Чт янв 18, 2018 11:13 am 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6356
Благодарил (а): 20 раз.
Поблагодарили: 194 раз.
Пункты репутации: 48
Перетаскивать изображение из браузера в программу вообще неудобно. Часто за картинкой есть ссылка и именно она перетаскивается. Для себя я решил, что проще и надёжней картинки вставлять в своё приложение из буфера обмена. В браузере из контекстного меню выбираем "Скопировать изображение", в своём приложении вставляем куда надо. Маленький пример:
Код:
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
26
OpenWindow(0, 450, 200, 400, 300, "Window", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
ImageGadget(0,0,0,400,300,0):DisableGadget(0,1)
  CreatePopupMenu(0)  
   MenuItem(1, "Вставить img")  
Repeat
  Event = WaitWindowEvent()
  Select Event
     Case #PB_Event_RightClick    
       DisplayPopupMenu(0, WindowID(0))
    Case #PB_Event_Menu        
          Select EventMenu()      
            Case 1
              img = GetClipboardImage(#PB_Any)
              If img
                SetGadgetState(0,ImageID(img))
              EndIf
      EndSelect
Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      If EventWindow = 0
        CloseWindow(0)
        Break
      EndIf
  EndSelect
ForEver
 


_________________
read-only


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Drop Image из браузера
СообщениеДобавлено: Чт янв 18, 2018 1:17 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11228
Благодарил (а): 4 раз.
Поблагодарили: 425 раз.
Картинка из браузера перетаскивается. https://www.purebasic.com/documentation ... op.pb.html

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Drop Image из браузера
СообщениеДобавлено: Чт янв 18, 2018 4:45 pm 
Не в сети
студент

Зарегистрирован: Чт янв 18, 2018 8:49 am
Сообщений: 5
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
kvitaliy писал(а):
Перетаскивать изображение из браузера в программу вообще неудобно. Часто за картинкой есть ссылка и именно она перетаскивается. Для себя я решил, что проще и надёжней картинки вставлять в своё приложение из буфера обмена. В браузере из контекстного меню выбираем "Скопировать изображение", в своём приложении вставляем куда надо.

Спасибо за наводку, способ и впрямь рабочий, если что, возьму на заметку!
Но, вот все-таки хотелось бы именно перетаскиванием, попробую все же подзапариться :)
Еще раз спасибо за код!
Пётр писал(а):
Картинка из браузера перетаскивается. https://www.purebasic.com/documentation ... op.pb.html

Скорее всего я дуб, но я так и не понял, как ее перетянуть именно из браузера, ибо при перетаскивании "тащится" именно ссылка на изображение.
В связи с этим, путем нехитрых рассуждений, додумался с помощью "URLDownloadToFile" скачивать эти ссылки, но вот тут-то и вылезли проблемы:
1)Таким макаром из гугла он качает лишь те картинки, которые открываются по кнопке "В полном размере". И все бы ничего, но тут выявляется еще одна проблема.
2)Даже по "Полному размеру" скачиваются далеко не все изображения(из 2 десятков опробованных скачалось 4 или 5).
Посему прошу помочь разобраться, если не затруднит. Может, надо как-то доработать этот принцип, а может я и вовсе не в то русло рою.
UPD: Буквально через десяток минут написания коммента обнаружил пуриковскую "ReceiveHTTPFile", которая качает уже все изображения в "Полном размере"(ну, по крайней мере, все те, что я проверил).
Но все же, имеется ли возможность скачивать таким макаром именно любое найденное изображение? Даже вот банально по запросу гугловских картинок первое попавшееся перетащить, не совершая более никаких действий.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Drop Image из браузера
СообщениеДобавлено: Чт янв 18, 2018 5:37 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11228
Благодарил (а): 4 раз.
Поблагодарили: 425 раз.
Не всегда браузер при перетаскивании картинки, передает именно картинку. Иногда это ссылка на картинку.
Нужно проверять что получено и если ссылка вместо картинки, то скачивать ее.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Drop Image из браузера
СообщениеДобавлено: Чт янв 18, 2018 6:00 pm 
Не в сети
студент

Зарегистрирован: Чт янв 18, 2018 8:49 am
Сообщений: 5
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Пётр писал(а):
Не всегда браузер при перетаскивании картинки, передает именно картинку. Иногда это ссылка на картинку.
Нужно проверять что получено и если ссылка вместо картинки, то скачивать ее.

Вот в том и беда, что он не все ссылки скачивает.
Есть возможность скачивать все поголовно?
Я так понимаю, качает он лишь те, которые имееют конкретный путь на скачивание, а вот что делать с теми, которые таким обделены?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Drop Image из браузера
СообщениеДобавлено: Чт янв 18, 2018 6:00 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6356
Благодарил (а): 20 раз.
Поблагодарили: 194 раз.
Пункты репутации: 48
Bloodsfire писал(а):
Но, вот все-таки хотелось бы именно перетаскиванием, попробую все же подзапариться :)
Е

Дополнил код возможностью перетаскивать. Можно же комбинировать - какой способ сработает, тот и применить.
Код:
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
26
27
28
29
30
31
OpenWindow(0, 450, 200, 400, 300, "Window", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
ImageGadget(0,0,0,400,300,0):DisableGadget(0,1)
EnableWindowDrop(0,#PB_Drop_Image,#PB_Drag_Copy)
  CreatePopupMenu(0)  
   MenuItem(1, "Вставить img")  
Repeat
  Event = WaitWindowEvent()
  Select Event
    Case  #PB_Event_WindowDrop
      If EventDropImage(0)
            SetGadgetState(0, ImageID(0))
       EndIf
    Case #PB_Event_RightClick    
       DisplayPopupMenu(0, WindowID(0))
    Case #PB_Event_Menu        
          Select EventMenu()      
            Case 1
              img = GetClipboardImage(#PB_Any)
              If img
                SetGadgetState(0,ImageID(img))
              EndIf
      EndSelect
Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      If EventWindow = 0
        CloseWindow(0)
        Break
      EndIf
  EndSelect
ForEver
 


_________________
read-only


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Drop Image из браузера
СообщениеДобавлено: Чт янв 18, 2018 6:17 pm 
Не в сети
студент

Зарегистрирован: Чт янв 18, 2018 8:49 am
Сообщений: 5
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
kvitaliy писал(а):
Дополнил код возможностью перетаскивать. Можно же комбинировать - какой способ сработает, тот и применить.

Это да, но вот в том и беда, как было вами сказано выше, что многие картинки - это по сути своей ссылки и данный способ их вытаскивания не работает.
Я уже отписался Петру по этому поводу, есть мысли, как это реализовать?
Именно чтобы скачивать любую ссылку, а не какие-то "избранные" им :?:


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Drop Image из браузера
СообщениеДобавлено: Чт янв 18, 2018 6:31 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6356
Благодарил (а): 20 раз.
Поблагодарили: 194 раз.
Пункты репутации: 48
Я же сказал, что решил проблему простым копированием и вставкой. Можно вместо вставки в программу сразу сохранять в файл. Вообще не вижу преимуществ у скачивания - так же вначале надо ссылку вытянуть, а тут вместо ссылки сразу картинка.

_________________
read-only


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Drop Image из браузера
СообщениеДобавлено: Чт янв 18, 2018 6:33 pm 
Не в сети
студент

Зарегистрирован: Чт янв 18, 2018 8:49 am
Сообщений: 5
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
kvitaliy писал(а):
Я же сказал, что решил проблему простым копированием и вставкой. Можно вместо вставки в программу сразу сохранять в файл. Вообще не вижу преимуществ у скачивания - так же вначале надо ссылку вытянуть, а тут вместо ссылки сразу картинка.

Чтож, ладно, спасибо за помощь!
Будем-с крутить-вертеть :)


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB