您的位置:首页 > 其它

网上找到的用xml传输图片

2016-03-05 12:24 253 查看
先记下来,试过后如果可用,就保留下来。

用到ZLIB和base64

Procedure StrToBmpStream(v: OleVariant; Var Stream: TMemoryStream);

Var

Str: String;

MS1: TStringStream;

MS2: TMemoryStream;

Begin

If VarIsNull(v) Then Exit;

Str := VarToStr(v);

If Str = '' Then Exit;

MS1 := TStringStream.Create(Str);

MS2 := TMemoryStream.Create;

Base64DeCodeStream(MS1, MS2);

MS2.Position := 0;

ZDecompressStream(MS2, Stream);

Stream.Position := 0;

FreeAndNil(MS2);

FreeAndNil(MS1);

End;

Function BmpStreamToStr(Stream: TMemoryStream): String;

Var

MS1: TMemoryStream;

MS2: TStringStream;

Begin

MS1 := TMemoryStream.Create;

MS2 := TStringStream.Create('');

Stream.Position := 0;

ZCompressStream(Stream, MS1, zcMax);

MS1.Position := 0;

Base64EnCodeStream(MS1, MS2);

Result := MS2.DataString;

FreeAndNil(MS2);

FreeAndNil(MS1);

End;

ms := TMemoryStream.Create;

StrToBmpStream('这里是BASE64编码的字符', ms);

image1.Picture.Bitmap.LoadFromStream(ms);

MS.Clear;

image1.Picture.Bitmap.SaveToStream(MS);

str:=BmpStreamToStr(MS)

将字符保存到XML即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: