过程如下:
客户端:截图->压缩成JPEG->保到TMemoryStream 中->传送至服务器
服务端:接收数据->保存到TMemoryStream中->显示在IMAGE中现在传输成功了,且服务端能收到完整的数据。就是不知该怎么显示。请赐教!
var
   jpeg:TJPEGImage;
......athread.Connection.ReadStream(stream,buf.size,false);//接收数据至stream
//stream.savetofile('a.jpg');//如果加上这句确实有图片被保存。
jpeg.loadfromstream(stream);
image1.Picture.Bitmap.Assign(jpeg);
提示有  JPEG  ERROR #42     错误!

解决方案 »

  1.   

    2ccc.com下载例子看吧,比你的方法好多了
      

  2.   

    压缩成jpg就ok了?
    压缩成zip吧
    1024*768*24位的一屏,压缩后数据在20-70K之间,传输速度可大大加快
      

  3.   

    你要在 jpeg.loadfromstream(stream);之前先 stream.Position:=0;
    也就是athread.Connection.ReadStream(stream,buf.size,false);//接收数据至stream
    //stream.savetofile('a.jpg');//如果加上这句确实有图片被保存。
    stream.Position:=0;
    jpeg.loadfromstream(stream);
    image1.Picture.Bitmap.Assign(jpeg);
      

  4.   

    uses jpeg;
    jpeg:= tjpegimage.create;
    stream.position := 0; //stream就是你接收到的流 
    jpeg.loadfromstream(stream); 
    Image1.Picture.Graphic:=jpeg;
    Image1.Picture.Graphic.Modified := true;
    //图片就在image1里啦