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

  • 相关阅读:
    python深浅拷贝
    pyinstaller打包py文件为exe方法
    python学习笔记3-关于文件的复制、重命名、移动、删除操作
    BeautifulSoup4 print() 输出中文乱码解决方法
    进程和线程的开启效率
    python3 使用pymysql
    python3 __file__
    Flask Template ( 模板学习)
    响应对象
    nginx 以及 uwsgi 的配置
  • 原文地址:https://www.cnblogs.com/cb168/p/6079598.html
Copyright © 2011-2022 走看看