Converte Imagem em Array e Array em Imagem
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 usado nas ferramentas mais antigas do Visual Studio .NET, por exemplo: 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, guardar a mesma 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.
No caso não mostro hoje em funcionamento, só lanço a idéia, por exemplo: ao pegar uma imagem de upload ou local mesmo, transformei ela em Array, gravei no banco de dados, XML ou TXT. Em momento posterior peguei esses dados em Array e transforme 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. Bem que, ao digitar na ferramenta será sugerido automaticamente. A referência 1.1 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)
{
if (image == null)
return null;
MemoryStream ms = new MemoryStream();
image.Save(ms, imageFormat);
return ms.ToArray();
}
Referência: 1.1
Note que o método retorna um Array de byte.
Já o outro método que faz o inverso. Referência 1.2
public static Image ConvertByteArrayToImage(byte[] byteArray)
{
if (byteArray == null || byteArray.Length == 0)
{
return (null);
}
return (Image.FromStream(new MemoryStream(byteArray)));
}
Referência: 1.2
Note que o 1.2 recebe apenas o byteArray e transforma em imagem. O tipo de retorno é Image.
Bom, eu fico por aqui e no próximo artigo sobre imagem eu mostro um exemplo real. Qualquer dúvida, pode entrar em contato através do site.
Sign up to our newsletter
Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.