[C#] Convertendo imagem para string e vice-versa

Nessa semana me deparei com um problema, no minimo, interessante. Precisava armazenar uma imagem nas settings da minha aplicação em C#,e para minha surpresa, verifiquei que o objeto Image não está disponível.

Depois de tentar várias formas para armazenar, sem sucesso, decidi converter a imagem em texto e armazená-la. Com isso nas minhas  buscas encontrei as funções a seguir, que servem para codificar e decodificar uma imagem em texto.

Espero que essa dica possa ter ajudado e até mais…

public string ImageToBase64(Image image,System.Drawing.Imaging.ImageFormat format)
{
   using (MemoryStream ms = new MemoryStream())
   {
      // Convert Image to byte[]
      image.Save(ms, format);
      byte[] imageBytes = ms.ToArray();
      // Convert byte[] to Base64 String
      string base64String = Convert.ToBase64String(imageBytes);
      return base64String;
   }
}

public Image Base64ToImage(string base64String)
{
   // Convert Base64 String to byte[]
   byte[] imageBytes = Convert.FromBase64String(base64String);
   if (imageBytes.Length < 360) return null;
   MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length);

   // Convert byte[] to Image
   ms.Write(imageBytes, 0, imageBytes.Length);
   Image image = Image.FromStream(ms, true);
   return image;
}

Obrigado e até o próximo post.

DATEK Tecnologia Eletrônica
[C#] Convertendo imagem para string e vice-versa
Tags:                     

Deixe uma resposta

%d blogueiros gostam disto: