预览模式: 普通 | 列表

VB pictureBOX如何显示网上的图片?

Private Declare Function OleLoadPicturePath Lib "oleaut32.dll" (ByVal szURLorPath As Long, ByVal punkCaller As Long, ByVal dwReserved As Long, ByVal clrReserved As OLE_COLOR, ByRef riid As TGUID, ByRef ppvRet As IPicture) As Long

Private Type TGUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(0 To 7) As Byte
End Type

'加载函数
Public Function LoadPicture(ByVal strFileName As String) As Picture
Dim IID As TGUID
With IID
.Data1 = &H7BF80980
.Data2 = &HBF32
.Data3 = &H101A
.Data4(0) = &H8B
.Data4(1) = &HBB
.Data4(2) = &H0
.Data4(3) = &HAA
.Data4(4) = &H0
.Data4(5) = &H30
.Data4(6) = &HC
.Data4(7) = &HAB
End With

On Error GoTo LocalErr

OleLoadPicturePath StrPtr(strFileName), 0&, 0&, 0&, IID, LoadPicture
Exit Function
LocalErr:
Set LoadPicture = VB.LoadPicture(strFileName)
Err.Clear
End Function

使用方法:
Set 控件名.Pictue = LoadPicture(图片网络路径)




上面这个是无缓存加载的

下面这个是下载到硬盘后加载的
去除加载部分 就是下载了

Private Sub Command1_Click()

Dim b() As Byte
Dim strURL As String
strURL = "http://www.mmdesk.cn/pic/mmdesk2039.jpg"

b() = Inet2.OpenURL(strURL, icByteArray)

Open "c:\csdn.jpg" For Binary Access _
Write As #1
Put #1, , b()
Close #1

Image1.Picture = LoadPicture("c:\csdn.jpg")
End Sub

Tags: vb

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 5491

 广告位

↑返回顶部↑