如何将Bitmap位图与base64字符串相互转换

 我来答
就烦条0o
2016-07-23 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46499
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
先引用delphi自带的单元

uses EncdDecd;

///将Bitmap位图转化为base64字符串

function BitmapToString(img:TBitmap):string ;

var

ms:TMemoryStream;

ss:TStringStream;

s:string;

begin

ms := TMemoryStream.Create;

img.SaveToStream(ms);

ss := TStringStream.Create('');

ms.Position:=0;

EncodeStream(ms,ss);//将内存流编码为base64字符流

s:=ss.DataString;

ms.Free;

ss.Free;

result:=s;

end;

///将base64字符串转化为Bitmap位图

function StringToBitmap(imgStr:string):TBitmap;

var ss:TStringStream;

ms:TMemoryStream;

bitmap:TBitmap;

begin

ss := TStringStream.Create(imgStr);

ms := TMemoryStream.Create;

DecodeStream(ss,ms);//将base64字符流还原为内存流

ms.Position:=0;

bitmap := TBitmap.Create;

bitmap.LoadFromStream(ms);

ss.Free;

ms.Free;

result :=bitmap;

end;
冬过春来秋等收
2016-07-23 · TA获得超过262个赞
知道小有建树答主
回答量:751
采纳率:25%
帮助的人:816万
展开全部
1 把图像文件读如byte数组中。 2 然后调用EncodeBase64函数,把Byte数组传入,函数返回Base64的字符串。 以上即可完成Base64转换。 反方向 1 然后调用DecodeBase64函数,把Byte64字符串传入,函数返回Byte数组。 2 把Bye数组内容写入文件,文件...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式