将Base64字符串转换为PictureBox

7

我可以将一个图片转换为Base64。但现在我想将其转换回来并存储在PictureBox中。

var pic = Convert.FromBase64String(product.Picture);

using (System.Drawing.Image image = System.Drawing.Image.FromStream(new System.IO.MemoryStream(pic)))
{ 
      //NOT SURE WHAT TO DO HERE
      pictureBox1.Image =????;
}

编辑 1; 首先感谢大家,我尝试了下面的所有解决方案,它们都有效。但是我有多张图片,如果在 Poduct.Picture 中没有图片怎么办?

3个回答

11

尝试使用类似以下的内容:

using (MemoryStream ms = new MemoryStream(pic))
{
     pictureBox1.Image = Image.FromStream(ms);
}

4
 // Convert base 64 string to byte[]
byte[] imageBytes = Convert.FromBase64String(base64String);
// Convert byte[] to Image
using (var ms = new MemoryStream(imageBytes, 0, imageBytes.Length))
{
    pictureBox1.Image = Image.FromStream(ms, true);
}

我在图像应该出现的位置看到一个红色的 X,这是怎么回事? - AndroidAL
我使用 PictureBox1.Image = (Bitmap)image.Clone(); 修复了它。 - AndroidAL

1
就像这样执行:
var pic = Convert.FromBase64String(product.Picture);

using (System.Drawing.Image image = System.Drawing.Image.FromStream(new  System.IO.MemoryStream(pic)))
{ 
  //NOT SURE WHAT TO DO HERE
  pictureBox1.Image =image;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接