我有一个应用程序将图像转换为JSON数组,我将其保存到blob字段:
function getImage(): String;
var
memorystream : TMemoryStream;
jsonArray : TJSONArray;
begin
memorystream := TMemoryStream.Create;
myImage.Picture.Graphic.SaveToStream(memorystream);
memorystream.Position := 0;
jsonArray := TJSONArray.Create;
jsonArray := TDBXJSONTools.StreamToJSON(memorystream, 0, memorystream.Size);
memorystream.Free;
Result := jsonArray.ToString;
end;
Run Code Online (Sandbox Code Playgroud)
转换PNG图像的结果如下所示:
[137,80,78,71,13,10,26,10,0,0, ... ]
Run Code Online (Sandbox Code Playgroud)
此结果存储在blob字段中,我使用此代码返回:
stream := TStream.Create;
stream := cdsPesquisa.CreateBlobStream(fieldAux, bmRead);
stream.Position := 0;
jsonArray := TJSONArray.Create;
jsonArray := TDBXJSONTools.StreamToJSON(stream, 0, stream.Size);
Run Code Online (Sandbox Code Playgroud)
在这里,我[137,80,78,71,13,10,26,10,0,0, ... ]在开头有相同的JSON字符串,但我需要再次将此JSON数组转换为图像.
我怎样才能做到这一点?