如何将Bitmap位图与base64字符串相互转换[delphi]
来源:互联网 发布:阿里云安装php环境 编辑:程序博客网 时间:2024/05/07 17:12
uses EncdDecd;
然后就可以使用下面二个函数了:
by 菩提树下的杨过 http://yjmyzz.cnblogs.com/
///将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;
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;
参见:
http://www.pc100.net/delphi/zhuanti/delphi-pchar-string.html
http://www.pc100.net/delphi/zhuanti/delphi-override-overload.html
0 0
- 如何将Bitmap位图与base64字符串相互转换[delphi]
- Base64位编码与String字符串的相互转换,Base64与Bitmap的相互转换
- 将Bitmap位图转化为base64字符串互转
- android bitmap与base64字符串之间转换
- android bitmap与base64字符串之间转换
- Image与Base64字符串相互转换
- Image与Base64字符串相互转换
- Base64与Bitmap转换
- Base64和Bitmap的相互转换
- Bitmap和Base64的相互转换
- Android Base64和Bitmap相互转换类
- Bitmap和Base64的相互转换
- c# bitmap和base64编码相互转换
- PHP图片与base64字符串相互转换函数
- Base64与byte[]相互转换
- 图片 与base64相互转换
- drawable与bitmap相互转换
- Bitmap与byte[]相互转换
- delphi编程里的bool跟boolean类型有什么区别
- cocos2dx+lua注册事件函数详解
- 学习STL map, STL set之数据结构基础
- json
- 老单据如何插入多行值
- 如何将Bitmap位图与base64字符串相互转换[delphi]
- LeetCode--Binary Tree Preorder Traversal
- GDUT初赛题解
- LeetCode - Remove Duplicates from Sorted Array I && II
- Swift语法基础: 20 - Swift的定义和调用函数, 函数形参名
- 使用cors(cross origin resource share)跨域获取字体文件问题
- 晚安
- Spring Data JPA初使用
- 设计模式-单例