是这样的,我要做一个用sock通信的考勤,现在连接已经建立,可以传送数据,但是图片不知道怎么传 ,初步想把图片变为数据流传到客户端 ,到客户端再把这个内存流变成图片 ,具体代码怎么写 
,一点都不会 ,以前没有写过VB昨天才学的 ,谁有现成的代码吗? 十万火急啊!下午就要。不胜感激!

解决方案 »

  1.   

    服务器端是把硬盘的图片变成数据流,客户端是从内存流变成picturebox里面的图。谢谢!
      

  2.   

    http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=163863
      

  3.   

    牛人的作品
    http://community.csdn.net/Expert/topic/3209/3209104.xml?temp=9.286135E-02
      

  4.   

    看这个(我记得回答过n次了,以后回答前希望搜索一下以前的帖子):
    '利用IPersistStream接口和IStream接口实现
    '可以从http://www.mvps.org/emorcillo/vb6/tlb/tl_ole.zip下载文件,下载后解压,并注册、引用olelib.tlb'作为示例,需要两个picturebox,并为picture1预先载入一幅图片
    Option ExplicitConst GMEM_MOVEABLE = &H2
    Const GMEM_ZEROINIT = &H40
    Const GHND = (GMEM_MOVEABLE Or GMEM_ZEROINIT)
    Private Declare Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long
    Private Declare Function GlobalSize Lib "kernel32" (ByVal hMem As Long) As Long
    Private Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long
    Private Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As LongConst PictureID = &H746C&Private Type PictureHeader
       Magic As Long
       Size As Long
    End Type
    Public Sub Picture2Array(ByVal oObj As StdPicture, aBytes() As Byte)'把图片变为数据流
        Dim oIPS As IPersistStream
        Dim oStream As IStream
        Dim hGlobal As Long
        Dim lPtr As Long
        Dim lSize As Long
        Dim Hdr As PictureHeader
        Set oIPS = oObj
        Set oStream = CreateStreamOnHGlobal(0, True)
        oIPS.Save oStream, True
        hGlobal = GetHGlobalFromStream(oStream)
        lSize = GlobalSize(hGlobal)
        lPtr = GlobalLock(hGlobal)
        If lPtr Then
          lSize = lSize - Len(Hdr)
          ReDim aBytes(0 To lSize - 1)
          MoveMemory aBytes(0), ByVal lPtr + Len(Hdr), lSize
       End If
       GlobalUnlock hGlobal
       Set oStream = NothingEnd Sub
    Public Function Array2Picture(aBytes() As Byte) As StdPicture'把数据流变成图片
    Dim oIPS As IPersistStream
    Dim oStream As IStream
    Dim hGlobal As Long
    Dim lPtr As Long
    Dim lSize As Long
    Dim Hdr As PictureHeader
       Set Array2Picture = New StdPicture
       Set oIPS = Array2Picture
       lSize = UBound(aBytes) - LBound(aBytes) + 1
       hGlobal = GlobalAlloc(GHND, lSize + Len(Hdr))
       If hGlobal Then
          lPtr = GlobalLock(hGlobal)
          Hdr.Magic = PictureID
          Hdr.Size = lSize
          MoveMemory ByVal lPtr, Hdr, Len(Hdr)
          MoveMemory ByVal lPtr + Len(Hdr), aBytes(0), lSize
          GlobalUnlock hGlobal
          Set oStream = CreateStreamOnHGlobal(hGlobal, True)
          oIPS.Load oStream
          Set oStream = Nothing
       End If
    End FunctionPrivate Sub Command1_Click()
        Dim buff() As Byte
        Picture2Array Picture1.Picture, buff
        '测试
        Set Picture2.Picture = Array2Picture(buff)
    End Sub