画像を 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;
PNG 画像の変換結果は次のようになります。
[137,80,78,71,13,10,26,10,0,0, ... ]
この結果は、次のコードで返される blob フィールドに格納されます。
stream := TStream.Create;
stream := cdsPesquisa.CreateBlobStream(fieldAux, bmRead);
stream.Position := 0;
jsonArray := TJSONArray.Create;
jsonArray := TDBXJSONTools.StreamToJSON(stream, 0, stream.Size);
ここでは、先頭に同じ JSON 文字列[137,80,78,71,13,10,26,10,0,0, ... ]
がありますが、この JSON 配列を再度画像に変換する必要があります。
どうすればそれを達成できますか?