Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос:  Как сохранить картинку из Brauser'a ? Добавлено: 19.03.05 11:00  

Автор вопроса:  VisBas | Web-сайт: chipmicro.narod.ru
В самодельный Brauser(Intern Transf Contr) загружена страница.
Как сохранить на винт определенную картинку с этой страницы ?

Ответить

  Ответы Всего ответов: 12  

Номер ответа: 1
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #1 Добавлено: 19.03.05 11:07
Private Declare Sub URLDownloadToFile Lib "URLMON.dll" (ByVal lpunknown As Long, ByVal lpcstr As String, ByVal lpcstr As String, ByVal dword As Long, ByRef TLPBINDSTATUSCALLBACK As LPBINDSTATUSCALLBACK)


С кэшем она работает сама.

Ответить

Номер ответа: 2
Автор ответа:
 VisBas



Вопросов: 44
Ответов: 127
 Web-сайт: chipmicro.narod.ru
 Профиль | | #2
Добавлено: 19.03.05 11:30
 Спасибо, попробую.

Ответить

Номер ответа: 3
Автор ответа:
 VisBas



Вопросов: 44
Ответов: 127
 Web-сайт: chipmicro.narod.ru
 Профиль | | #3
Добавлено: 19.03.05 12:06
А можно ли картинку, прямо из интернета, загрузить в PictureBox ?

Ответить

Номер ответа: 4
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #4
Добавлено: 19.03.05 13:16
Можно, для этого всего-то нужно загрузить данные в байтовый массив а потом из него вытащить картинку

Ответить

Номер ответа: 5
Автор ответа:
 VisBas



Вопросов: 44
Ответов: 127
 Web-сайт: chipmicro.narod.ru
 Профиль | | #5
Добавлено: 20.03.05 12:13
А как вытащить ? Может пример есть..

Ответить

Номер ответа: 6
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #6
Добавлено: 20.03.05 12:25
Декларации API, думаю, сам найдешь...

'--------------------------------------------------------------------------------
' Проект     :  OfflineClient
' Процедура  :  PictureFromMemory
' Описание   :  Получение IPicture из массива
' Кем создан :  SNE
' Дата-Время :  15.11.2004-21:45:57
'
' Параметры  :  btData()    - Данные картинки
'--------------------------------------------------------------------------------
Public Function PictureFromMemory(ByRef btData() As Byte) As IPicture
    Dim IID_IPicture(16) As Byte
    Dim pGlobal As Long, pStream As IUnknown

    Const sIID_IPicture = "{7BF80980-BF32-101A-8BBB-00AA00300CAB}"

    pGlobal = GlobalAlloc(0&, UBound(btData) + vbNull)
    Call CopyMemory(ByVal pGlobal, btData(0), UBound(btData) + vbNull)

    If CreateStreamOnHGlobal(pGlobal, True, pStream) = 0& Then
        If CLSIDFromString(StrPtr(sIID_IPicture), IID_IPicture(0)) = 0& Then
            Call OleLoadPicture(ByVal ObjPtr(pStream), UBound(btData) + vbNull, False, IID_IPicture(0), PictureFromMemory)
        End If
    End If
    If PictureFromMemory Is Nothing Then Call GlobalFree(pGlobal)
End Function

Ответить

Номер ответа: 7
Автор ответа:
 VisBas



Вопросов: 44
Ответов: 127
 Web-сайт: chipmicro.narod.ru
 Профиль | | #7
Добавлено: 20.03.05 13:50
Огромное спасибо

Ответить

Номер ответа: 8
Автор ответа:
 VisBas



Вопросов: 44
Ответов: 127
 Web-сайт: chipmicro.narod.ru
 Профиль | | #8
Добавлено: 21.03.05 13:42
Что, то не пашет эта ф-я.
Компилятор ругается что CLSIDFromString не определенна, хотя я ее декларировал..

Ответить

Номер ответа: 9
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #9
Добавлено: 21.03.05 13:51
Раз ругается, значит неопределена... ему лучше знать...

у мня декларации:

Private Declare Function OleCreatePictureIndirect Lib "OLEPRO32.DLL" (lpPictDesc As PictDesc, ByRef riid As Byte, ByVal fPictureOwnsHandle As Long, iPic As IPicture) As Long
Private Declare Function CreateStreamOnHGlobal Lib "ole32" (ByVal hGlobal As Long, ByVal fDeleteOnRelease As Long, ppstm As Any) As Long
Private Declare Function OleLoadPicture Lib "olepro32" (pStream As Any, ByVal lSize As Long, ByVal fRunmode As Long, ByRef riid As Byte, ppvObj As Any) As Long
Private Declare Function CLSIDFromString Lib "ole32" (ByVal lpsz As Any, ByRef pclsid As Byte) As Long

Ответить

Номер ответа: 10
Автор ответа:
 VisBas



Вопросов: 44
Ответов: 127
 Web-сайт: chipmicro.narod.ru
 Профиль | | #10
Добавлено: 21.03.05 23:19
Теперь OleCreatePictureIndirect брыкаться стала, хотя эта декларация помоему не нужна.
Я уже сделал через винчестер, у этого свои преимущества..

Ответить

Номер ответа: 11
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #11
Добавлено: 22.03.05 11:02
ненужна - удали...

Ответить

Номер ответа: 12
Автор ответа:
 VisBas



Вопросов: 44
Ответов: 127
 Web-сайт: chipmicro.narod.ru
 Профиль | | #12
Добавлено: 22.03.05 15:01
Ok. Спасибо!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам