• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ImageBase64DatasnapImagedelphi与c#互相兼容识别

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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:\test.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:\b64CSharp.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:\test.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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
求Delphi中数据库记录统计方法.发布时间:2022-07-18
下一篇:
用Delphi编写Windows服务程序(2)发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap