在Unity中,试图将Base64String转换为png



我正在从API(稳定部落(获取Base64String我试过使用

filePath = some path + image.png
File.WriteAllBytes(filePath, Convert.FromBase64String(myImageData.generations[0].img));

这确实在硬盘上创建了一个图像,但它并不是真正的png图像,所以当我尝试读取所有字节时回到图像中的场景中出现了问题。不起作用。我发现这是因为它一开始没有正确编码成真正的png。

我正在尝试将这个python代码(翻译成Unity C#(,它确实创建了一个实际的png:


b64img = results[iter]["img"]
base64_bytes = b64img.encode('utf-8')
img_bytes = base64.b64decode(base64_bytes)
img = Image.open(BytesIO(img_bytes))
if len(results) > 1:
final_filename = f"{iter}_{filename}"
img.save(final_filename)

我已经尝试了大约16个小时的在线搜索解决方案,但没有成功。真不敢相信这是多么的缺乏记录和困难?

有人能帮忙吗?在Unity C#中将Base64String转换为png的正确方法是什么。谢谢

试试这个:

string base64String = "(your base64 string)";
byte[] data = System.Convert.FromBase64String(base64String);
Texture2D texture = new Texture2D(0, 0);
ImageConversion.LoadImage(texture, data);

最新更新