用内存流jpg.savetostream,image1.picture.loadfromstream

解决方案 »

  1.   

    jpg.savetostream 然后 image.picture.loadfromstream 以后就会出现问题,我并没有再者过程中free这个stream,但是image.picture.loadfromstream 出错说读内存00000000why?
      

  2.   

    image.picture.assign
    你的在少了loadfromstream之前要,stream.Position:=0;!
    image.picture有loadfromstream方法?
      

  3.   

    jpg:=tjpegimage.Create;
      self.CaptureJPEG(jpg,arect,quality);
      //image.Picture.Assign(jpg);
      mm:=tmemorystream.Create;
      jpg.SaveTostream(mm);
      jpg.Free;
      mm.Position:=0;  image.Picture.Graphic.LoadFromStream(mm);//执行到这里的时候说肚内存00000000
      mm.Free; 另外,使用image.picutre.assign能显示,但是显示出来的没有压缩以后不清晰的效果,我想让他和savetofile,loadfromfile一样显示压缩效果,怎么版?
      

  4.   

    var
    jpg:TJPEGImage;
    mm:TMemoryStream;
    begin
    jpg:=tjpegimage.Create;
    mm:=tmemorystream.Create;
    jpg.Assign(image1.Picture);
    jpg.compressionquality:=10;
    jpg.compress;
    jpg.SaveTostream(mm);
    mm.Position:=0;
    jpg.LoadFromStream(mm);
    image1.Picture.Assign(jpg);
    end;