bmp保存到MemoryStream中的问题
var
Ms:TMemoryStream;
Bitmap:TBitmap;
begin
Image2.Picture.Bitmap := Bitmap;
Bitmap.SaveToStream(Ms);
Image1.Picture.Bitmap.LoadFromStream(Ms);
end;
问题是Image2上能正常显示,但是Image1上什么也看不见。
问题点数:50、回复次数:6Top
1 楼hhnick(nick)回复于 2004-12-02 11:42:19 得分 0
大家看一下吧。Top
2 楼luke5678()回复于 2004-12-02 13:11:09 得分 30
var
Ms:TMemoryStream;
Bitmap:TBitmap;
begin
Image2.Picture.Bitmap := Bitmap;
Bitmap.SaveToStream(Ms);
Ms.Position := 0; //加一句
Image1.Picture.Bitmap.LoadFromStream(Ms);
end;
Top
3 楼linzhengqun(风。我回来了)回复于 2004-12-02 13:30:24 得分 20
你MS创建了没有呀
var
Ms:TMemoryStream;
Bitmap:TBitmap;
begin
MS:=TMemoryStream.create;//创建
Image2.Picture.Bitmap := Bitmap;//Bitmap?
Bitmap.SaveToStream(Ms);
Ms.Position := 0; //加一句,我认为加不加都可的。
Image1.Picture.Bitmap.LoadFromStream(Ms);
end;Top
4 楼hhnick(nick)回复于 2004-12-03 09:26:56 得分 0
当然都创建了,不创建会报错得。
发现问题了,就是下面的问题。加上就好了。
Ms.Position := 0;
谢谢。Top
5 楼hhnick(nick)回复于 2004-12-03 11:35:14 得分 0
还有一个问题,我想把MS中的东西保存到string中,然后作为参数进行传递,但是保存到string是保存不进去。
s:widestring;
SetLength(S, MS.Size);
MS.ReadBuffer(S[1], MS.Size);Top
6 楼hhnick(nick)回复于 2004-12-03 11:44:52 得分 0
procedure TForm1.strtojpg(str: widestring);
var
MS : TMemoryStream;
Bitmap : TBitmap;
begin
Ms := TMemoryStream.Create;
Bitmap := TBitmap.Create;
try
Ms.SetSize(Length(Str));
Ms.Position := 0;
Ms.WriteBuffer(Str, Ms.Size);
Bitmap.LoadFromStream(Ms);
Image1.Picture.Bitmap.Assign(Bitmap);
finally
Bitmap.Free;
Ms.Free;
end;
end;
然后用传递的参数还原此图片,但是总不成功。各位高手给个建议。Top




