Como compactar imagens em C#

Como compactar imagens em C#

Integre esta biblioteca de compactação .NET para compactar os formatos de arquivo de imagem populares, como TIFF, JPG, PNG e muito mais. Em grandes organizações, o armazenamento de arquivos é um assunto crítico e você sempre tende a otimizar seus arquivos de negócios e tornar seu tamanho eficiente em termos de memória. Portanto, você pode usar esta biblioteca para compactar imagens programaticamente em um aplicativo .NET. Além disso, você também obterá os trechos de código e as etapas sobre como compactar imagens em C#|.

Os seguintes pontos serão abordados neste guia:

instalação da biblioteca de compactação .NET

No que diz respeito à instalação desta API, é super simples. Você pode baixar sua DLL ou instalá-la executando o seguinte comando no gerenciador de pacotes NuGet.

Install-Package Aspose.Imaging

Compactar JPG programaticamente

Agora, vamos implementar como compactar as imagens em C# programaticamente. Você pode seguir as etapas e o trecho de código mencionado abaixo:

  1. Instancie uma instância da classe Image e chame o método Load para carregar uma imagem JPG.
  2. Inicialize um objeto da classe JpegOptions.
  3. Defina o tipo de cor para a imagem JPEG definindo o valor da propriedade ColorType.
  4. Especifique o tipo de compactação definindo o valor da propriedade CompressionType.
  5. O método Save salvará a imagem.

Copie e cole o seguinte código em seu arquivo principal:

// Instancie uma instância de Image e classe e chame o método Load para carregar uma imagem JPG  
using (var original = Image.Load( "sample.jpg"))
{
    // Inicialize um objeto da classe JpegOptions 
    var jpegOptions = new JpegOptions()
    {
        // Defina o tipo de cor da imagem jpeg definindo o valor da propriedade ColorType.   
        ColorType = JpegCompressionColorMode.Grayscale,
        // Especifique o tipo de compactação definindo o valor da propriedade CompressionType 
        CompressionType = JpegCompressionMode.Progressive,

    };
    //  O método Save salvará a imagem.
    original.Save( "result.jpg", jpegOptions);
}

Como compactar TIFF em C#

Para compactar uma imagem TIFF, você precisa seguir as seguintes etapas:

Seguem os passos:

  1. Invoque o método Load para carregar uma imagem TIFF.
  2. Inicialize o construtor da classe TiffOptions com o valor TiffExpectedFormat.Default.
  3. Defina o valor da propriedade BitsPerSample.
  4. Além disso, defina o valor da propriedade Compression.
  5. Por fim, defina as propriedades Photometric e Palette.
  6. Chame o método Save para salvar a imagem.

Copie e cole o seguinte código em seu arquivo principal:

//  Invoque o método Load para carregar uma imagem TIFF  
using (Image image = Image.Load( "sample.tiff"))
{
    // Inicialize o construtor da classe TiffOptions com o valor TiffExpectedFormat.Default.  
    TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);
    // Defina o valor da propriedade BitsPerSample 
    outputSettings.BitsPerSample = new ushort[] { 4 };
    // Além disso, defina o valor da propriedade Compression 
    outputSettings.Compression = TiffCompressions.Lzw;
    // Por fim, defina as propriedades Fotométricas, Paleta  
    outputSettings.Photometric = TiffPhotometrics.Palette;
    outputSettings.Palette = ColorPaletteHelper.Create4BitGrayscale(false);
    // Chame o método Save para salvar a imagem. 
    image.Save(  "result.tiff", outputSettings);
}

Como reduzir o tamanho do arquivo PNG?

Esta biblioteca de compactação .NET oferece uma ampla variedade de métodos para manipular e compactar arquivos PNG facilmente.

A seguir estão as etapas e o snippet de código para compactar PNG programaticamente:

  1. Carregue uma imagem PNG chamando o método Load.
  2. Faça um loop sobre o possível intervalo de CompressionLevel.
  3. Crie uma instância da classe PngOptions para cada PNG resultante, defina CompressionLevel e salve o resultado no disco.
  4. O nível de compactação da imagem PNG está no intervalo de 0 a 9, em que 9 é a compactação máxima e 0 é o modo de armazenamento. Defina o valor da propriedade CompressionLevel.
  5. Invoque o método save para salvar a imagem.

Copie e cole o seguinte código em seu arquivo principal:

// Carregar uma imagem do arquivo chamando o método Load 
using (Image image = Image.Load( "result.png"))
{
    // Faça um loop sobre o possível intervalo de CompressionLevel 
    for (int i = 0; i <= 9; i++)
    {
        // Crie uma instância de PngOptions para cada PNG resultante, defina CompressionLevel e salve o resultado no disco 
        PngOptions options = new PngOptions();
        // O nível de compactação da imagem png na faixa de 0 a 9, em que 9 é a compactação máxima e 0 é o modo de armazenamento. Defina o valor da propriedade CompressionLevel.
        options.CompressionLevel = i;
        // Invoque o método save para salvar a imagem 
        image.Save(i + "_dam.png", options);
    }
}

Obtenha uma licença gratuita

Você pode aproveitar uma licença temporária gratuita para experimentar a API sem limitações de avaliação.

Resumindo

Podemos concluir esta postagem no blog do tutorial com a esperança de que você tenha aprendido a compactar imagens em C#. Além disso, você passou por esta biblioteca de compactação .NET para compactar formatos de arquivo de imagem PNG, TIFF e JPG programaticamente. Mais importante ainda, você pode visitar a documentação para conhecer outros recursos.

Além disso, sugerimos que você siga nosso Guia de primeiros passos.

Finalmente, conholdate.com está escrevendo novas postagens no blog. Portanto, por favor, fique em contato para atualizações regulares.

Faça uma pergunta

Você pode nos informar sobre suas perguntas ou dúvidas em nosso fórum.

Perguntas frequentes

Como compactar uma imagem no .NET Core?

Visite este link para conhecer os trechos de código e métodos de API expostos por esta biblioteca de compactação .NET.

Como compactar PNG?

Crie uma instância de PngOptions para cada PNG resultante, defina o valor da propriedade CompressionLevel e invoque o método save para salvar a imagem.

Veja também