博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Bitmap位图与base64字符串相互转换
阅读量:6407 次
发布时间:2019-06-23

本文共 745 字,大约阅读时间需要 2 分钟。

hot3.png

先引用delphi自带的单元

uses EncdDecd;

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

  2. function BitmapToString(img:TBitmap):string ;

  3. var

  4.   ms:TMemoryStream;

  5.   ss:TStringStream;

  6.   s:string;

  7. begin

  8.     ms := TMemoryStream.Create;

  9.     img.SaveToStream(ms);

  10.     ss := TStringStream.Create('');

  11.     ms.Position:=0;

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

  13.     s:=ss.DataString;

  14.     ms.Free;

  15.     ss.Free;

  16.     result:=s;

  17. end;

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

  19. function StringToBitmap(imgStr:string):TBitmap;

  20. var ss:TStringStream;

  21.     ms:TMemoryStream;

  22.     bitmap:TBitmap;

  23. begin

  24.     ss := TStringStream.Create(imgStr);

  25.     ms := TMemoryStream.Create;

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

  27.     ms.Position:=0;

  28.     bitmap := TBitmap.Create;

  29.     bitmap.LoadFromStream(ms);

  30.     ss.Free;

  31.     ms.Free;

  32.     result :=bitmap;

  33. end;

复制代码

转载于:https://my.oschina.net/u/582827/blog/227491

你可能感兴趣的文章
validform校验框架不显示错误提示
查看>>
flink 获取上传的Jar源码
查看>>
Redis实现聊天功能
查看>>
ZAB协议简介
查看>>
读QT5.7源码(三)Q_OBJECT 和QMetaObject
查看>>
Spring Data JPA Batch Insertion
查看>>
swift Equatable 的缺省实现
查看>>
mongodb索引
查看>>
特征探索经验
查看>>
UEditor自动调节宽度
查看>>
Unity中使用多构造函数
查看>>
语言类型的相关总结
查看>>
JAVA做验证码图片(转自CSDN)
查看>>
Delphi TServerSocket,TClientSocket实现传送文件代码
查看>>
JS无聊之作
查看>>
30天敏捷结果(2):用三个故事驱动你的一周
查看>>
浅谈输入法编程(转)
查看>>
CSS3 试试看
查看>>
电子书下载:CUDA by Example: An Introduction to General-Purpose GPU Programming
查看>>
学习嵌入式LINUX系统的笔记和体会
查看>>