delphi如何把json传递过来的base64值转成图片

发布时间 2023-06-28 22:55:16作者: 疯狂delphi

资料来原:https://blog.csdn.net/red_eye/article/details/129634709  

 

在Delphi中,您可以使用TNetEncoding.Base64.DecodeString方法将JSON传递过来的Base64编码字符串转换为原始二进制数据。然后,您可以将该二进制数据保存为图像文件或将其加载到TImage组件中以显示图像。

以下是一个示例代码,假设Base64编码的图像数据存储在JSON字符串的“image”字段中:

copy codeuses
System.NetEncoding, System.Classes, Vcl.Imaging.jpeg, Vcl.Graphics;

procedure Base64ToImage(const ABase64String: string; const AFileName: string);
var
InputBytes: TBytes;
OutputStream: TMemoryStream;
JPEGImage: TJPEGImage;
begin
// 将Base64编码的字符串转换为原始二进制数据
InputBytes := TNetEncoding.Base64.DecodeString(ABase64String);

// 将二进制数据保存到文件
OutputStream := TMemoryStream.Create;
try
OutputStream.WriteBuffer(InputBytes[0], Length(InputBytes));
OutputStream.SaveToFile(AFileName);
finally
OutputStream.Free;
end;

// 或者将二进制数据加载到TImage组件中
JPEGImage := TJPEGImage.Create;
try
JPEGImage.LoadFromStream(TBytesStream.Create(InputBytes));
Image1.Picture.Assign(JPEGImage);
finally
JPEGImage.Free;
end;
end;
您可以调用此过程,将Base64编码的字符串转换为图像文件或TImage组件中的图像。例如:

copy codeBase64ToImage('iVBORw0KGgoAAAANSUhEUgAAAAUAAAAAVCAYAAABv8r...', 'image.jpg');
其中,第一个参数是Base64编码的字符串,第二个参数是要保存的文件名。如果您想将图像加载到TImage组件中,则将第二个参数设置为''。
————————————————
版权声明:本文为CSDN博主「red_eye」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/red_eye/article/details/129634709