7

Im able to convert an image into Base64. But now im trying to convert it back and store it in a 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 =????;
}

Edit 1; Firstly Thanks to everyone, i have tried all the solutions below and they all work. But i have multiple images, What if there is no image in Poduct.Picture?

AndroidAL
  • 1,111
  • 4
  • 15
  • 35

3 Answers3

10

Try to use something like:

using (MemoryStream ms = new MemoryStream(pic))
{
     pictureBox1.Image = Image.FromStream(ms);
}
Roman Marusyk
  • 23,328
  • 24
  • 73
  • 116
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);
}
M.S.
  • 4,283
  • 1
  • 19
  • 42
1

just do it like this:

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;
}
sumngh
  • 566
  • 2
  • 10