Converte Imagem em Array e Array em Imagem


por Mauricio Junior em 1/1/2011 0


    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.

voltar   comente  subir

 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:

Comente (dê sua opinião):
Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Visual SourceSafe
Montando estrutura de um site MVC 2 com Visual Studio .NET 2010
Anime-se com o Silverlight
Método SHA 256
Convertendo String para Guid
Insistência com Vírus por E-mail
Sistema de Login em ASP – Parte III
Utilizando ASP:Menu
Armazenando Dados no ViewState Parte II
Sistema de Login com ASP 3.0 usando três camadas – Parte I
Visual Studio .NET 2010 com temas
Vídeo - Sistema de Atendimento de Clientes
Ler RSS usando o Visual Studio.NET 2005
IsAlpha
Vídeo: Análise do Android 3.0 por um especialista
Teclas de Atalho do Visual Studio .NET 2010
Vídeo - Conecte
Focus()
Deletando todos os arquivos
Framework SkyMenu
Sistema de Login em ASP Utilizando três camadas - Parte VIII
Virus: Provocando sua curiosidade
Resource e Internacionalização – Parte V Usando Visual Studio.NET 2005
Trabalhando com Cookie (parte II)
Educação no Brasil
Ext JS
Permissão de Página Utilizando Web.Config
Pegando dados do computador facilmente via software
101 Exemplos de Linq
II Encontro - Um Sucesso!!! (em Brasília)
Nem tudo é o que parece!
DateDiff com intervalos escolhidos por você
Chamando Programas de Dentro do Windows Forms
GridView Parte I
Append Data Bound Items