从网页上获取图片显示到Picture中的软件源码

根据提供的文件信息,我们可以归纳出以下几个关键的知识点: ### 知识点一:从网页上获取图片并显示在Picture控件中的VB编程方法 #### 1.1 引言 在Visual Basic(简称VB)中,开发人员经常需要处理网络上的资源,比如从网页上获取图片并在应用程序中展示。这在很多场景下都是极为有用的,例如制作基于Web的应用程序、爬虫工具或任何需要从互联网抓取图像的功能。 #### 1.2 VB中加载图片的基本方法 在VB中,可以使用`LoadPicture`函数来加载本地或网络上的图片。但是,对于从网络获取的图片,直接使用`LoadPicture`可能会导致失败,因为该函数主要用于加载本地文件。因此,开发者通常会采用更高级的方法,如使用OLE Automation技术。 #### 1.3 使用OLE Automation从网络加载图片 为了从网络获取图片并显示在Picture控件中,我们可以使用OLE Automation技术。这里的关键API是`OleLoadPicture`函数,它可以从指定的URL加载图片,并返回一个`IPicture`接口对象。 ```vb Private Declare Function OleLoadPicture 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 ``` #### 1.4 实现代码解析 在提供的代码片段中,可以看到具体的实现步骤: 1. **定义`TGUID`结构体**:用于存储GUID数据。 ```vb Private Type TGUID Data1 As Long Data2 As Integer Data3 As Integer Data4(0 To 7) As Byte End Type ``` 2. **声明`OleLoadPicture`函数**:此函数负责加载图片。 ```vb Private Declare Function OleLoadPicture 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 ``` 3. **定义`LoadPic`函数**:该函数封装了从网络加载图片的过程。 ```vb Private Function LoadPic(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 OleLoadPicture StrPtr(strFileName), 0&, 0&, 0&, IID, LoadPic Exit Function LocalErr: Set LoadPic = VB.LoadPicture(strFileName) Err.Clear End Function ``` 4. **在按钮点击事件中调用`LoadPic`函数**: ```vb Private Sub Command1_Click() Set Picture1.Picture = LoadPic("http://t1.baidu.com/it/u=1824272441,3682706879&fm=0&gp=14.jpg") End Sub ``` ### 知识点二:理解OLE Automation及IPicture接口 #### 2.1 OLE Automation简介 OLE Automation是一种允许不同应用程序之间共享数据和功能的技术。它提供了一种简单的方法来创建、访问和操作组件对象模型(COM)对象。 #### 2.2 IPicture接口概述 `IPicture`接口是OLE Automation中用于表示图像的标准接口。通过这个接口,可以获取和设置图像的各种属性,包括尺寸、颜色等。 #### 2.3 使用`IPicture`接口 在上述代码中,`LoadPic`函数通过`OleLoadPicture`函数返回了一个`IPicture`对象。然后,该对象被直接赋值给`Picture1.Picture`属性,从而实现了图片的加载和显示。 ### 总结 通过以上分析,我们可以看到,利用OLE Automation技术和`IPicture`接口,可以在VB中轻松地从网络上获取图片并显示在Picture控件中。这种方法不仅适用于VB6等经典版本,对于现代开发环境也有一定的借鉴意义。对于那些希望在自己的应用程序中集成此类功能的开发者来说,这段代码是一个很好的起点。























Private Type TGUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(0 To 7) As Byte
End Type
'// 用来加载Internet上的图片
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
'// 从Internet上加载图片
Private Function LoadPic(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

- a158xhji2013-01-22很好用的源码 对我帮助很大啊

- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 互联网在材料工程中的应用科技检索作业.doc
- 配置化疗药物时护理人员的自身防护crosoftPowerPoint演示文稿.ppt
- 美容业营销实战网络拓展篇专家讲座.pptx
- 学习情境63网络营销策略.ppt
- 手把手教你通过Eclipse工程配置调用JNI完全攻略.doc
- 基于51单片机制作的秒表.doc
- 企业具备信息化管理平台能够使工程管理者对现场实施监控和数据处理.docx
- 网络营销实务网络营销的目标市场定位.pptx
- 一般软件招标评分标准.doc
- 计算机毕业论文——人事管理系统.doc
- 关于电子商务中网络技术的应用-2.doc
- 模拟仿真教学软件.ppt
- 项目管理培训笔记.doc
- 单片机外文文献翻译.doc
- 通信设备检修规程.doc
- 基于PLC的水塔水位自动控制系统.docx


