在不同的计算机上传输图象,为了提高速度,不要把处理完的图象(如PICTURE控件上的图象)先保存为文件,而是直接传输(传输时能压缩最好)到另外一台联网的机子,然后另外一台被联网的机子接受并且直接显示该图象(也不先保存为文件形式),请问各位高手该怎么办啊?

解决方案 »

  1.   

    我知道用winsock传输文件,但直接用来显示图象我就不知道如何操作了!
      

  2.   


    用WINSOCK以二进制形式传输
      

  3.   

    怎样把picture1.picture图象内容原封不动的保存到一个二进制变量中?
      

  4.   

    搂主巧了,我也在做这方面的一个东西,而且找到了一个控件,可以将保存在byte数组或variant中图像数据直接显示出来
    http://www.axis.com/techsup/cam_servers/dev/index.htm
    下载那个activex component链接
      

  5.   

    to wxy_xiaoyu:是做内存文件吗?如果是motion-jpeg开销也会很大吧
      

  6.   

    可以用GetDIBits直接从DC中得到位图数据
    发送位图数据
    接收到位图数据后,用SetDIBits设置
    GetDIBits VB声明 
    Declare Function GetDIBits Lib "gdi32" Alias "GetDIBits" (ByVal aHDC As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, lpBits As Any, lpBI As BITMAPINFO, ByVal wUsage As Long) As Long 
    说明 
    将来自一幅位图的二进制位复制到一幅与设备无关的位图里 
    返回值 
    Long,非零表示成功,零表示失败。在Windows 95中,返回值是返回的扫描线数量 
    参数表 
    参数 类型及说明 
    aHDC Long,定义了与设备有关位图hBitmap的配置信息的一个设备场景的句柄 
    hBitmap Long,源位图的句柄。绝对不能将这幅位图选入设备场景 
    nStartScan Long,欲复制到DIB中的第一条扫描线的编号 
    nNumScans Long,欲复制的扫描线数量 
    lpBits Any,指向一个缓冲区的指针。这个缓冲区将用于装载采用DIB格式的信息,但不取回数据(用ByVal传递零值) 
    lpBI BITMAPINFO,对lpBits DIB的格式及颜色进行说明的一个结构。在BITMAPINFOHEADER结构中,从biSize到biCompression之间的所有字段都必须初始化 
    wUsage Long,下述常数之一: 
    DIB_PAL_COLORS 在颜色表中装载一个16位所以数组,它们与当前选定的调色板有关 
    DIB_RGB_COLORS 在颜色表中装载RGB颜色 
    注解 
    起始扫描线与起点有关。除非将BITMAPINFOHEADER结构的biHeight字段设为负值,否则起点就位于左下角 
    SetDIBits VB声明 
    Declare Function SetDIBits Lib "gdi32" Alias "SetDIBits" (ByVal hdc As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, lpBits As Any, lpBI As BITMAPINFO, ByVal wUsage As Long) As Long 
    说明 
    将来自与设备无关位图的二进制位复制到一幅与设备有关的位图里 
    返回值 
    Long,执行成功则返回扫描线的数量,零表示失败。会设置GetLastError 
    参数表 
    参数 类型及说明 
    hdc Long,指向一个设备场景的句柄,那个设备场景定义了与设备有关位图(hBitmap)的配置 
    hBitmap Long,目标位图的一个句柄。这幅位图绝对不能选入一个设备场景 
    nStartScan Long,lpBits数组中第一条扫描线的编号。如lpBI之BITMAPINFOHEADER部分的biHeight字段是正数,那么这条扫描线就会从位图的底部开始计算;如果是负数,就从顶部开始计算 
    nNumScans Long,欲复制的扫描线数量 
      Any,指向一个缓冲区的指针。这个缓冲区包含了以DIB格式描述的位图数据;这种格式是由lpBI指定的 
    lpBI BITMAPINFO,对lpBits DIB的格式和颜色进行描述的一个结构 
    wUsage Long,下述常数之一 
    DIB_PAL_COLORS 颜色表是一个整数数组,其中包含了与目前选入hdc设备场景的调色板相关的索引 
    DIB_RGB_COLORS 颜色表包含了RG颜色 
    注解 
    用GetDeviceCaps判断设备是否支持这个函数
     
      

  7.   

    Zyl910的方法,注意,无法压缩
      

  8.   

    自己写个压缩程序就行了推荐使用Gif_LZW算法,压缩率较高
    而且没有JPEG标准的DCT变换(离散余弦变换)运算量大