zoukankan      html  css  js  c++  java
  • Image Base64 Datasnap Image delphi与c#互相兼容识别

    delphi用,不能与java、c#互相识别。

    procedure TServerMethods.UpdateDoc(ItemID : integer; doc : TStream);

    delphi用,不能与java、c#互相识别。

    procedure TServerMethods.UpLoadFile(ADoc: TJSONArray);

    jsonArray := TDBXJSONTools.StreamToJSON(aStream, 0, aStream.Size);

    bstream := TDBXJSONTools.JSONToStream(jsonArray);

    procedure TForm2.Button4Click(Sender: TObject);
    var
      jpg, jpg2: TJPEGImage;
      aStream: TMemoryStream;
      bstream: TStream;
      jsonArray: TJSONArray;
    begin
      jpg := TJPEGImage.Create;
      jpg.LoadFromFile('e:	est.jpg');
      Image1.Picture.Assign(jpg);
    
      aStream := TMemoryStream.Create;
      jpg.SaveToStream(aStream);
    
      aStream.Position := 0;
      jsonArray := TDBXJSONTools.StreamToJSON(aStream, 0, aStream.Size);
      RichEdit1.Text := jsonArray.Value;
      RichEdit1.Text := jsonArray.ToString;
      RichEdit1.Text := jsonArray.ToJSON; // 纯数字 不能跨语言 java c#互相识别
    
      // jsonArray:= TJSONObject.ParseJSONValue(RichEdit1.Text);
      bstream := TDBXJSONTools.JSONToStream(jsonArray);
      jpg2 := TJPEGImage.Create;
      bstream.Position := 0;
      jpg2.LoadFromStream(bstream);
      Image2.Picture.Assign(jpg2);
      jpg.Free;
    end;
    View Code

    http://www.cnblogs.com/codingnote/archive/2012/04/09/2438673.html

    http://stackoverflow.com/questions/16550915/how-to-convert-a-json-string-to-an-image

     http://blog.csdn.net/shandiantianying/article/details/9022121

    string,base64

     class function CreateTDataSetFromJSON(value: TJSONObject): TDataset;
     class function TDataSetToJSONObject(value: TDataset): TJSONObject;

    跨语言C#、java

    Delphi读取b64字符串

    procedure TForm2.Button3Click(Sender: TObject);
    var
      strStream: TStringStream;
      b64: TBase64Encoding;
      aStream: TMemoryStream;
      jpg2: TJPEGImage;
    begin
      strStream := TStringStream.Create;
      strStream.LoadFromFile('e:64CSharp.txt');
      strStream.Position := 0;
    
      b64 := TBase64Encoding.Create;
      aStream := TMemoryStream.Create;
      b64.Decode(strStream, aStream);
      aStream.Position := 0;
      jpg2 := TJPEGImage.Create;
      jpg2.LoadFromStream(aStream);
    
      Image2.Picture.Assign(jpg2);
    
      strStream.Free;
      b64.Free;
      aStream.Free;
      jpg2.Free;
    
    end;

    c#图片base64编码

            private void button1_Click(object sender, EventArgs e)
            {
                System.IO.MemoryStream ms = new System.IO.MemoryStream();
                System.Drawing.Bitmap bp = new Bitmap(@"e:	est.jpg");
                bp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                byte[] b = ms.GetBuffer();
    
                this.richTextBox1.Text = Convert.ToBase64String(b);
                 
            }

     C#图片baes64解码

    byte[] bt = Convert.FromBase64String(base64string);
    System.IO.MemoryStream stream = new System.IO.MemoryStream(bt);
    Bitmap bitmap = new Bitmap(stream);
    pictureBox1.Image = bitmap;

    Vcl.Imaging.pngimage.hpp

     TPngImage

  • 相关阅读:
    java面试笔记6
    Java面试笔记5
    Java面试笔记5
    网上订单管理-新增
    网上订单管理-级联;可编辑列表
    网上订单管理-新增、修改
    数据库嵌套查询
    网上订单管理-数据呈现
    video 移动端内联播放,视频上层可显示弹幕、点赞。video转canvas播放
    vue 日期格式化过滤器
  • 原文地址:https://www.cnblogs.com/cb168/p/6079598.html
Copyright © 2011-2022 走看看