重温delphi之:如何将Bitmap位图与base64字符串相互转换

简介: 先引用delphi自带的单元uses EncdDecd; 然后就可以使用下面二个函数了: by 菩提树下的杨过 http://yjmyzz.cnblogs.com/ ///将Bitmap位图转化为base64字符串function BitmapToString(img:TBitmap)...
先引用delphi自带的单元

uses EncdDecd;

然后就可以使用下面二个函数了:

img_405b18b4b6584ae338e0f6ecaf736533.gif 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;
end ;

 

 

目录
相关文章
|
5月前
|
Python
使用python来理解宽字节注入
使用python来理解宽字节注入
21 0
|
Web App开发 前端开发
|
XML 存储 算法
为啥要 base64 编码?
为啥要 base64 编码?
232 0
为啥要 base64 编码?
|
前端开发
教程 将 BASE64 和图片互转
DataURI 允许在 HTML 文档中嵌入小文件,可以使用 img 标签或 CSS 嵌入转换后的 Base64 编码,减少 HTTP 请求,加快小图像的加载时间。 经过Base64 编码后的文件体积一般比源文件大 30% 左右。
1246 0
|
存储 编解码 Java
一篇文章彻底弄懂Base64编码
一篇文章彻底弄懂Base64编码
367 0
一篇文章彻底弄懂Base64编码
Halcon把8位图转换为24位图的方法
Halcon把8位图转换为24位图的方法
393 0
|
前端开发 算法 Java
java实现图片与base64转换
如果你是一个软件开发,不论前端后端工程师,图片的处理你是肯定要会的,关于图片的Base64编码,你可能有点陌生,但是这是一个软件工程师应该要掌握的知识点,现在很多网友把图片与base64转换都做成了小工具如:http://www.yzcopen.com/img/imgbase64今天我们就一起来看一下吧。
5578 0
|
C#
WPF中实现图片文件转换成Visual对象,Viewport3D对象转换成图片
原文:WPF中实现图片文件转换成Visual对象,Viewport3D对象转换成图片 1、图片文件转换成Visual对象         private Visual CreateVisual(string imageFileName)        {            BitmapImag...
1155 0