如:给定如下图片,有哪位高手知道如何通过vb编码,把这个图片直接显示到picturebox中?
http://www.csdn.net/images/homeimage/csdn.gif

解决方案 »

  1.   

    Private Sub Command1_Click()
           Inet1.Execute Text1.Text, "GET"
    End Sub
     
    Private Sub Form_Load()
        Text1.Text = "http://www.csdn.net/images/homeimage/csdn.gif"
        Text2.Text = "c:\temp.gif"
    End SubPrivate Sub Inet1_StateChanged(ByVal State As Integer)
    On Error GoTo Errhandler
    Dim vtData()   As Byte   '数据变量。
    Dim Count   As Long
           Select Case State
                   Case icHostResolvingHost
                           Label1.Caption = "正在查询所指定的主机的  IP  地址"
                   Case icHostResolved
                           Label1.Caption = "成功地找到所指定的主机的  IP  地址"
                   Case icConnecting
                           Label1.Caption = "正在与主机连接"
                   Case icConnected
                           Label1.Caption = "已与主机连接成功"
                   Case icRequesting
                           Label1.Caption = "正在向主机发送请求"
                   Case icRequestSent
                           Label1.Caption = "发送请求已成功"
                   Case icReceivingResponse
                           Label1.Caption = "在接收主机的响应"
                   Case icResponseReceived
                           Label1.Caption = "成功地接收到主机的响应"
                   Case icDisconnecting
                           Label1.Caption = "正在解除与主机的连接"
                   Case icDisconnected
                           Label1.Caption = "已成功地与主机解除了连接"
                   Case icError
                           Label1.Caption = "与主机通讯时出现了错误"
                   Case icResponseCompleted   '12
                             
                           TotalLength = Val(Inet1.GetHeader("Content-length"))
                           Step = (Me.ScaleWidth - Picture1.Left * 2) / TotalLength
                           Debug.Print Step
                           Label1.Caption = "请求已经完成,并且所有数据均已接收到"
                           Open Text2.Text For Binary Access Write As #1
                           vtData = Inet1.GetChunk(1024, icByteArray)
                           Count = 1000
                             
                           Picture1.Width = Picture1.Width + Count * Step
                           Picture1.Visible = True
                           Label1.Caption = "" & Round(Count * 1000 / TotalLength, 0) & "%"
                           'Me.Refresh
                           Do While UBound(vtData) > 0
                                 Put #1, , vtData
                                 vtData = Inet1.GetChunk(1024, icByteArray)
                                 Picture1.Width = Picture1.Width + 1024 * Step
                                 Count = Count + 1024
                                 Label2.Caption = "" & Round(Count * 100 / TotalLength, 0) & "%"
                           Loop
                           Put #1, , vtData
                           Close #1
                           Label2.Caption = "100%"
                           Picture2.Picture = LoadPicture(Text2.Text)
         End Select
         Exit Sub
    Errhandler:
           MsgBox Err.Description
    End Sub
      

  2.   

    源码可以看这里!
    http://websx.home.zccn.net/bbs/SavePost.asp?Action=snew&boardid=52
      

  3.   

    可以先下载,然后显示
    '把指定给定一个网络文件(任何类型,可以是图像文件)的地址,然后用程序把其保存为本机器的文件
    Public Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long'保存网上的图片到硬盘
    'URL是图版的网址
    'LocalFilename 是保存到本地的文件名及目录
    '使用例子:DownloadFile "http://www.21cn.com/aa.jpg","c:\aa.jpg"Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean
        Dim lngRetVal As Long
        lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
        If lngRetVal = 0 Then DownloadFile = True
    End Function
    Picture2.Picture = LoadPicture("c:\aa.jpg")
      

  4.   

    '使用XMLHTTP对象下载,使用ADODB.Stream对象写文件的方法
    '首先要引用Microsoft XML,ADO 2.5以上Option ExplicitPrivate Function XMLGetURL(URL As String) As Byte()
    On Error GoTo errHandler
    Dim XMLObj As New XMLHTTP
        XMLObj.open "GET", URL, False
        XMLObj.Send
        If XMLObj.readyState <> 4 Then
            MsgBox "下载失败!"
            Exit Function
        End If
        XMLGetURL = XMLObj.responseBody
        Set XMLObj = Nothing
        Exit Function
    errHandler:
        MsgBox Err.Description, vbInformation, "错误"
    End FunctionFunction SaveImage(URL As String, toFile As String)
    Dim objStream As New Stream
    Dim ImgData() As Byte
        ImgData = XMLGetURL(URL)
        objStream.Type = 1
        objStream.open
        objStream.Write ImgData
        objStream.SaveToFile toFile, 2
        objStream.Close
        Set objStream = Nothing
    End Function
    Private Function GetFileName(URL As String) As String
        GetFileName = Mid(URL, InStrRev(URL, "/") + 1)
    End FunctionPrivate Sub Command1_Click()
    Dim URL As String
        URL = "http://expert.csdn.net/images/csdn.gif"
        SaveImage URL, "c:\" & GetFileName(URL)
        Picture1.Picture = LoadPicture("c:\" & GetFileName(URL))
    End Sub
      

  5.   

    '使用XMLHTTP对象下载,使用ADODB.Stream对象写文件的方法
    '(不需在VB中添加引用)
    Option ExplicitPrivate Function XMLGetURL(URL As String) As Byte()
    On Error GoTo errHandler
    Dim XMLObj As Object    Set XMLObj = CreateObject("Microsoft.XMLHTTP")
        XMLObj.open "GET", URL, False
        XMLObj.Send
        If XMLObj.readyState <> 4 Then
            MsgBox "下载失败!"
            Exit Function
        End If
        XMLGetURL = XMLObj.responseBody
        Set XMLObj = Nothing
        Exit Function
    errHandler:
        MsgBox Err.Description, vbInformation, "错误"
    End FunctionFunction SaveImage(URL As String, toFile As String)
    Dim objStream As Object
    Dim ImgData() As Byte
        ImgData = XMLGetURL(URL)
        
        Set objStream = CreateObject("ADODB.Stream")
        objStream.Type = 1
        objStream.open
        objStream.Write ImgData
        objStream.SaveToFile toFile, 2
        objStream.Close
        Set objStream = Nothing
    End Function
    Private Function GetFileName(URL As String) As String
        GetFileName = Mid(URL, InStrRev(URL, "/") + 1)
    End FunctionPrivate Sub Command1_Click()
    Dim URL As String
        URL = "http://expert.csdn.net/images/csdn.gif"
        SaveImage URL, "c:\" & GetFileName(URL)
        Picture1.Picture = LoadPicture("c:\" & GetFileName(URL))
    End Sub
      

  6.   

    to griefforyou(为你伤心):
       Inet1.Execute Text1.Text, "GET" 中的Inet1是什么?
      

  7.   

    Internet传输控件工程->部件->Microsoft Internet Transfer Control x.x
      

  8.   

    online(龙卷风V2.0--再战江湖)
    还是你的方法好