zoukankan      html  css  js  c++  java
  • 重温delphi之:如何将Bitmap位图与base64字符串相互转换

     

    先引用delphi自带的单元

    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;
    end;
  • 相关阅读:
    2017中国大学生程序设计竞赛
    HDU 1426 Sudoku Killer【DFS 数独】
    Silver Cow Party---poj3268(最短路,迪杰斯特拉)
    Heavy Transportation---poj1797
    Cow Contest---poj3660
    Frogger--poj2253
    最短路基础
    打字母小游戏
    蔡勒(Zeller)公式--黑色星期五
    2的次幂表示
  • 原文地址:https://www.cnblogs.com/zhangzhifeng/p/5044367.html
Copyright © 2011-2022 走看看