继续提问,这个问题怎么解决。

hhnick 2004-12-03 04:14:44
还有一个问题,我想把MS中的东西保存到string中,然后作为参数进行传递,但是保存到string是保存不进去。
s:widestring;

SetLength(S, MS.Size);
MS.ReadBuffer(S[1], MS.Size);

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;

然后用传递的参数还原此图片,但是总不成功。各位高手给个建议。
...全文
70 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhnick 2004-12-06
  • 打赏
  • 举报
回复
Ms.Position := 0;
不好意思,上面这句话放错位置了。
hhnick 2004-12-06
  • 打赏
  • 举报
回复
s:widestring;
Ms:TMemoryStream;
Bitmap:TBitmap;

Image2.Picture.Bitmap := Bitmap;
Bitmap.SaveToStream(Ms);
Ms.Position := 0;
SetLength(S, MS.Size);
MS.ReadBuffer(S[1], MS.Size);
S就是要传递的参数。
这是将一副图片保存到MS中,没有问题。
然后用传递的参数还原此图片,但是总不成功。各位高手给个建议。
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;

hhnick 2004-12-06
  • 打赏
  • 举报
回复
不行,出现异常了,
zwb666 2004-12-03
  • 打赏
  • 举报
回复
学习
nyf1220 2004-12-03
  • 打赏
  • 举报
回复
MS.ReadBuffer(S[1], MS.Size); //改成看看
MS.ReadBuffer(S,MS.Size);

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧