你试试看这样的方式,我刚测试通过了的。
var ms1,ms2:TMemoryStream;
i:Int64;
d1:byte;
begin
// Image1.Picture.Graphic.LoadFromFile('c:/1.jpg');
ms1:=TMemoryStream.Create;
ms2:=TMemoryStream.Create;
Image1.Picture.Graphic.SaveToStream(ms1);
//加密,
ms1.Position:=0;
ms2.Position:=0;
i:=0;
repeat
Inc(i);
ms1.Read(d1,1);
d1:=d1 xor 123;
ms2.Write(d1,1);
until i=ms1.Size;
//还原
ms1.Position:=0;
ms2.Position:=0;
i:=0;
repeat
Inc(i);
ms2.Read(d1,1);
d1:=d1 xor 123;
ms1.Write(d1,1);
until i=ms2.Size;
i :=ms2.Size;
ms1.Position:=0;
image2.Picture.Graphic.LoadFromStream(ms1);