LAYERDEV

 Busca Online:
 

Seja bem vindo(a) Visitante, voc no est logado deseja logar
na comunidade ASPNETi.COM e participar de servios e promoes ? clique aqui.

Convertendo e salvando imagens via código



Data Publicação: 14/7/2010 16:08:35
Total de visualizações: 373

comente
Diminuir o tamanho das letras Aumentar o tamanho das letras



    Olá Internautas, gostaria de mostrar hoje como salvar uma imagem capturada pelo software depois de passada pelo scanner. Não vou mostrar a captura da imagem em si, mas vou mostrar como salvar a imagem do tipo TIF, JPG e PNG.
   
    São métodos simples e ao mesmo tempo com um poder para converter a imagem passada como parâmetro de entrada. Vamos ao código.
    Criei um classe específica chamada Util.cs e dentro dela coloquei o método code 1.1.
   
    /// <summary>
    /// Create a image codec (mimeType)
    /// </summary>
    public static ImageCodecInfo GetEncoderInfo(String mimeType)
    {
        int j;
        ImageCodecInfo[] encoders;
        encoders = ImageCodecInfo.GetImageEncoders();
        for (j = 0; j < encoders.Length; ++j)
        {
            if (encoders[j].MimeType.ToLower() == mimeType.ToLower())
                return encoders[j];
        }
        return null;
    }
    Code 1.1
   
    O método recebe como parâmetro do tipo String o tipo da imagem, por exemplo: image/jpeg, image/tiff e image/png. Esses são os tipos que usei para trabalhar com as imagens que tenho dentro do meu sistema ou que virão.
   
    Antes de tudo, importei as seguintes classes no início da classe. Code 1.2
   
    using System;
    using System.Drawing;
    using System.Drawing.Imaging;
    using System.Collections.Generic;
    Code 1.2
   
    Ainda dentro da classe Util.cs, utilizei o método que coloca a imagem com uma certa qualidade. Code 1.3
   
    public static EncoderParameters CreateJpegEncoder(int aQuality)
    {
        EncoderParameters encoderParams = new EncoderParameters();
        EncoderParameter encoderParam;
        long[] quality = new long[1];
        quality[0] = aQuality; //0 to 100
        encoderParam = new EncoderParameter(Encoder.Quality, quality);
        encoderParams.Param[0] = encoderParam;
        return encoderParams;
    }
    Code 1.3
   
    Atribuí os parâmetros de Encoder com a qualidade recebida na entrada do método tipo Int. No final retornei o encoder. Para este método (code 1.3) serve para atribuir a uma imagem do tipo GIF, com qualidade passada, de zero a cem.
    Criei outro método  para fazer o mesmo procedimento com a imagem do tipo TIF.], ou seja, a conversão do TIF.
   
    public static EncoderParameters CreateTiffEncoder(EncoderValue CompressionType)
    {
        System.Drawing.Imaging.Encoder _Encoder = System.Drawing.Imaging.Encoder.Compression;

        EncoderParameters _EncoderParameters = new EncoderParameters(1);
        EncoderParameter _EncoderParameter;

        // Save the bitmap as a TIFF file with LZW compression.
        _EncoderParameter = new EncoderParameter(_Encoder, (long)CompressionType);
        _EncoderParameters.Param[0] = _EncoderParameter;
        return _EncoderParameters;
    }
    Code 1.4
   
    Dentro do método (Code 1.4) criei parâmetros; no caso 1 EncoderParameters para comprimir a imagem de forma correta. No final do método, retorno a variável de encoder. Todo o código até agora foi feito em uma classe específica. Pode ser feito um framework pequeno contendo as classe com os métodos e assim ser usado em outros projetos.
   
    Agora vou criar três métodos específicos para salvar a imagem localmente, ou seja, em três tipos de formato diferente como falados anteriormente.
   
    O code 1.5 mostra o método que recebe os dados e salva a imagem recebida em disco.
   
    public static void SaveJPG(Image Imagem, string FileName)
    {
        ImageCodecInfo _imageCodecInfo = Util.GetEncoderInfo("image/jpeg");
        Imagem.Save(FileName, _imageCodecInfo);
    }
    Code 1.5
   
    Todos os métodos seguem o mesmo padrão, muda apenas um dado específico. Veja o code 1.6.
   
    public static void SaveGIF(Image Imagem, string FileName)
    {
        ImageCodecInfo _imageCodecInfo = Util.GetEncoderInfo("image/gif");
        Imagem.Save(FileName, _imageCodecInfo);
    }
    Code 1.6
   
    Por último o formato TIF. Hoje muito usado em empresas financeiras. Code 1.7.
   
    public static void SaveTIF(Image Imagem, string FileName)
    {

        ImageCodecInfo _imageCodecInfo = Util.GetEncoderInfo("image/tiff");
        EncoderParameters EP = Util.CreateTiffEncoder(EncoderValue.CompressionCCITT4);

        Imagem.Save(FileName, _imageCodecInfo, EP);
    }
    Code 1.7
   
    Bom, acredito que tenha chegado à meta. Mostro como salvar imagem em três tipos e utilizando métodos particulares no momento da gravação da imagem. Em um outro artigo publicado anteriormente, mostrei como converter a imagem em Array e o Array em imagem. (Converte a imagem em array e o array em imagem)
   
    Assim, a imagem pode ser gravada em banco de dados caso queira ou então grava-lá localmente.
   
    Espero ter ajudado e qualquer dúvida pode entrar em contato pelo site.
  


Total de visualizações: 373
voltar   comente  subir


Comentários:


Comente (dê sua opinião): VOCÊ PRECISA LOGAR

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

Não publicação
Ebook: Aprendendo Desenvolver WebServices
Google Chrome no Windows
e-Book Grátis Windows Phone 7 Series
Vídeo - Mostrando um sistema com pocket pc
Vírus / Spam Comentários
Vírus - Link com Vírus
Criando Números Aleatoriamente
Como criptografar a string de conexão no Web.Config.
Teclas de Atalho do Visual Studio .NET 2010
CES 2008: Keynote do Bill Gates
Vídeos SQL Server 2005 Express Gratuitamente
Criando Números Aleatoriamente
Generics usando Object DataSource
Criando menu dinâmico com C#.NET (Passo 2) - Com diferenciação de usuário
Microsoft® Expression® Web
Servidor Integrado - Visual Studio.NET
Problemas no sistema de busca
Detectando ENTER
Focus()
Vírus - Full video Pamela Anderson
Vídeo mostrando como validar vários formulários
Armazenando dados no ViewState – Parte I
Criando a Tag Cloud em C#
Conhecendo o controle Wizard ASP.NET 2.0
NDOC para versão framework 2.0
Promoção Assinatura Grátis DevMedia e ASPNETi.COM
Evento Brasil DotNet - gratuíto
Vídeo: Aprendendo a trabalhar com o Office
Concurso Office
Criando Pastas no Mail com o Macbook
Fotos do HTC Mozart
Chrome - não reconhecimento...
Promoção ASPNETi.COM versus Autor - e-Books grátis hoje e amanhã
Criando XML a partir de um DATASET tipado – Parte II
Sobre o Autor
  [sumir] [aparecer]
 
Mauricio Junior Maurício Júnior
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 27 anos e possuo sete livros publicados pela editora Ciência Moderna no ano de 2009. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.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.orgSite pessoal  www.mauriciojunior.org

Informaes Online
Usurios Online: 731
Artigos:  750
Vdeos:  61
PodCast's:  45
Frum:  3128
Empregos:  1385
Usurios Cadastrados: 6166
Publicidade
LAYERDEV




Vdeos Publicados
 

Duas dicas de internet - Google RealTime e OpenDNS

Desconfie sempre da internet e emails

Microsoft Office online no Safari funcionando

Inovação Visual Studio .NET 2010 - parte 4

Office Live online

TAB TAB na ferramenta Visual Studio .NET

Apresentação do IMC - Sistema de Controle de Peso Mobile

Inovação Visual Studio .NET 2010 - parte 3

Inovação Visual Studio .NET 2010 - parte 1

Download de vídeos com o Safari

Criando Chart - Novo componente integrado com o Visual Studio.NET 2010

Serviços: SAC e SMS integrado

Café com TI - Info sobre o Visual Studio.NET 2010 - WebConfig

Café com TI - Info sobre o Visual Studio.NET 2010

Café com TI - Vírus se passando por Correios

Café com TI - Novo jeito de mandar e-mail com vírus

Café com TI - Formatando todo tipo de String

Resolvido erro do Banco do Brasil no browser

Erro no site do Banco do Brasil com o Safari

Duas dicas do Snow Leopard

Incompatibilidade no Snow Leopard

E-mail com vírus, veja os detalhes

Café com TI - Continuando a configuração de Themes no site

Café com Ti - Banner Rotativo

Café com TI - Evento Eco Brasília

Café com TI - Themes dentro do ASPNETi.COM

Café com TI - Trabalhando com o iCal no Macbook

Café com TI - Deixando o rodapé do seu site fixo

Café com TI - Windows 7 sendo utilizado sem qualquer incompatibilidade

Café com Ti - ASP.NET - Explicando o componente ModalDialogExtender do Ajax Toolkit

Café com TI - Indexação de URL com ASP.NET

Café com TI - Configurando Mail para sua conta no HotMail
Enquete ASPNETi.COM
 Os podcasts tem sido proveitoso pra você?

Favor logar para votar
 
Publicidade Vertical
NETITC