以任何其他方式将 gif 文件从 base64 读入图片框? C#

Reading gif file from base64 into picturebox any other way? C#

我有 base64 格式的 gif 图片。

目前我正在接近这个方向。读取 base64 gif 文件并将其写入字节数组并将其写回到图像文件到磁盘并从文件读取到 picturebox.image.

 byte[] imageBytes = Convert.FromBase64String(body);
                //*  this is write file to disk and read
                string filename = Username;
                File.WriteAllBytes(filename, imageBytes);
                fs = new FileStream(filename, FileMode.Open, FileAccess.Read);
                pictureBox1.Image = Image.FromStream(fs);

现在,我想把它写到内存而不是写到磁盘文件。就像以可变图像的形式。可以分配给图片框。有没有这个可能。因为我必须为许多图像重复多次。

所以我想找到一种不将保存文件写入磁盘并再次读取的不同方法。

感谢任何帮助。

byte[] imageBytes = Convert.FromBase64String(body);
MemoryStream stream = new MemoryStream(imageBytes);
pictureBox1.Image = Image.FromStream(stream);
byte[] imageBytes = Convert.FromBase64String(body);
using (var ms = new MemoryStream(imageBytes))
{
    pictureBox1.Image = Image.FromStream(ms);
}

请注意 MemoryStream class 是 IDisposable,因此您应该 Dispose() 它。使用或使用 try/catch/finally 块可能会发生这种情况。