Olá, pessoal, hoje eu gostaria de mostrar
duas funcionalidades legais que precisei em um certo desenvolvimento. Acredito
que é de grande valia.
Requisitos:
- Visual Studio .NET 2008
- Linguagem: C#
Essa funcionalidade pode ser usada nas ferramentas mais antigas do Visual
Studio .NET, como 2003 e 2005; ainda não testei, mas não vejo nenhuma
restrição.
Em resumo, o que mostro é como transformar uma imagem em
Array, guardá-la em um local e depois transformar em imagem novamente. Em
breve vou escrever um artigo que visualiza imagem do tipo TIF na web e vou usar
esse código ensinado hoje.
Hoje não veremos em funcionamento, vou só lançar a idéia,
por exemplo: ao pegar uma imagem de upload ou local mesmo, transformei-a em
Array, gravei no banco de dados, XML ou TXT. Depois eu peguei esses
dados em Array e transformei na imagem novamente.
Com esse decreto do governo brasileiro de economizar papel e
transformar tudo em digital, o que mostro hoje pode ter grande valia para
projetos futuros.
É importante importar a classe System.Drawing.Imagem antes de qualquer
coisa, mas ao digitar na ferramenta será sugerido automaticamente. O código abaixo mostra essa conversão de imagem para ByteArray, passando dois
parâmetros, a imagem e o formato:
public static byte[] ConvertImageToByteArray(Image image, ImageFormat imageFormat)<br /> {<br /> if (image == null)<br /> return null;<br /><br /> MemoryStream ms = new MemoryStream();<br /> image.Save(ms, imageFormat);<br /> return ms.ToArray();<br /> }Note que o método retorna um Array de byte.
Já o outro método que faz o inverso:
public static Image ConvertByteArrayToImage(byte[] byteArray)<br /> {<br /> if (byteArray == null || byteArray.Length == 0)<br /> {<br /> return (null);<br /> }<br /><br /> return (Image.FromStream(new MemoryStream(byteArray)));<br /> }Note que o código acima recebe apenas o byteArray e transforma em imagem. O tipo de
retorno é Image.
Bom, agora basta chamar o código normalmente, veja o exemplo abaixo:
byte[] arrayImagem = ConvertImageToByteArray(SUA_IMAGEM, ImageFormat.Gif);Depois disso, o código é retornado automaticamente; basta depois inserir no banco de dados.
Para voltar com a imagem, também é simples: faça um select no banco de dados e o retorno em array de byte passo para o outro método.
Image img = ConvertByteArrayToImage(imagem_do_banco);Bom, eu fico por aqui. Qualquer dúvida pode entrar em contato pelo site.








