Tbitmap类(50分)

  • 主题发起人 主题发起人 jan96
  • 开始时间 开始时间
J

jan96

Unregistered / Unconfirmed
GUEST, unregistred user!
请问怎么将TBitmap对象的数据按字节写入一块BUFFER中?
 
Var
Size : LongInt;
TempPchar : PChar;
ABitmap : Tbitmap;
SaveStream : TMemoryStream;
begin
try
ABitmap.saveTostream(SaveStream);
Size := SaveStream.Size;
SaveStream.Position := 0;
GetMem(TempPchar,Size+1);
SaveStream.Read(TempPchar^,Size);
except
Raise;
end;
end;
 
To idon: 你好!
我想用BUF: ARRAY OF BYTE;
也是先SAVE到流 然后READ到BUFF
但是结果全部是‘0’;
是不是必须用PCHAR?
写进内存的数据有什么影响没有?
 
procedure TForm1.BitBtn1Click(Sender: TObject);
Var
Size : LongInt;
TempPchar : PByte;<<也可换成byte用
SaveStream : TMemoryStream;
begin
try
savestream:=TMemorystream.Create;<<注意这步不能省
Image1.Picture.Bitmap.saveTostream(SaveStream);
Size := SaveStream.Size;
SaveStream.Position := 0;
GetMem(TempPchar,Size+1);
SaveStream.Read(TempPchar^,Size);
except
Raise;
end;
end;
 
如果
array of byte
先要setlength 再一样的读。

to 51free :
不能省的还有 freemem 的 我只是简化一下
 
多人接受答案了。
 
后退
顶部