delphi 怎么将图片保存在内存中,并在适当的时候读取内存中的图片
用了这样的语句:Image1.Picture.Graphic.SaveToStream(stream_image);stream_image.Free;//保存在内存流中...
用了这样的语句:
Image1.Picture.Graphic.SaveToStream(stream_image);
stream_image.Free; //保存在内存流中
Stream_image:TMemoryStream;
jpeg_image:TJPEGImage;
begin
//Stream_image:=TMemoryStream.Create;
jpeg_image:=TJPEGImage.Create;
Stream_image.Position:=0;
jpeg_image.LoadFromStream(stream_image);
Image2.Picture.Assign(jpeg_image);
Stream_image.Free;
jpeg_image.Free;
//从内存流中读取出来
但是读取的时候就出错。 展开
Image1.Picture.Graphic.SaveToStream(stream_image);
stream_image.Free; //保存在内存流中
Stream_image:TMemoryStream;
jpeg_image:TJPEGImage;
begin
//Stream_image:=TMemoryStream.Create;
jpeg_image:=TJPEGImage.Create;
Stream_image.Position:=0;
jpeg_image.LoadFromStream(stream_image);
Image2.Picture.Assign(jpeg_image);
Stream_image.Free;
jpeg_image.Free;
//从内存流中读取出来
但是读取的时候就出错。 展开
1个回答
展开全部
内存里只能是暂存,stream_image.Free 已经释放了内存,取消这一句可以实现,在取出图片后再释放内存。
追问
Image1.Picture.Bitmap.SaveToStream(stream_image); //存图片
jpeg_image:=TJPEGImage.Create;
Stream_image.Position:=0;
Image2.Picture.Bitmap.LoadFromStream(Stream_image);
Stream_image.Free;
jpeg_image.Free; //加载图片
还是通不过;不知道啥子问题
追答
BMP 与 JPG 图片要分开来处理:
bitmap.SaveToStream(strm);
bitmap.LoadFromStream(strm);
...
jpegimage.SaveToStream(strm);
jpegimage.LoadFromStream(strm);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询