Compressão de Imagem em C#

A compressão eficiente de imagens é vital para aplicações modernas, pois economiza espaço de armazenamento e melhora as velocidades de transmissão. Com o Plugin Otimizador de Imagens da Aspose.Imaging por $99, os desenvolvedores podem comprimir programaticamente formatos de imagem populares como PNG, JPEG e TIFF em C#. Esta poderosa API de compressão de imagem para C# .NET fornece configurações personalizáveis, garantindo resultados de alta qualidade adaptados às suas necessidades específicas, incluindo compressão de imagem sem perda e métodos de otimização de alto desempenho.

Tópicos Abordados

  • API de Compressão de Imagens em C#
  • Comprimir Imagens PNG em C#
  • Comprimir Imagens JPEG em C#
  • Aplicar Compressão em Imagens TIFF em C#

API de Compressão de Imagens em C#

Aspose.Imaging para .NET simplifica tarefas de otimização de imagens com uma variedade de recursos personalizáveis. Você pode integrá-lo facilmente em seus projetos .NET baixando o plugin ou instalando-o via NuGet, que é uma melhor prática para compressão eficiente de imagens com C#.

Install-Package Aspose.Imaging

Comprimir Imagens PNG em C#

Para comprimir imagens PNG, você pode definir o nível de compressão de 0 a 9, onde 9 representa compressão máxima e 0 indica modo de armazenamento. Siga estas etapas para comprimir uma imagem PNG usando Aspose.Imaging para .NET:

  1. Carregue a imagem usando a classe Image.
  2. Crie um objeto da classe PngOptions.
  3. Defina o nível de compressão usando a propriedade PngOptions.CompressionLevel.
  4. Salve a imagem usando o método Image.Save(String, PngOptions).

Aqui está um exemplo em C# demonstrando como comprimir imagens PNG:

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_PNG();
// Load an image from file (or stream)
using (Image image = Image.Load(dataDir + "aspose_logo.png"))
{
// Loop over possible CompressionLevel range
for (int i = 0; i <= 9; i++)
{
// Create an instance of PngOptions for each resultant PNG, Set CompressionLevel and Save result on disk
PngOptions options = new PngOptions();
options.CompressionLevel = i;
image.Save(i + "_out.png", options);
}
}

Comprimir Imagens JPEG em C#

Para lidar com imagens JPEG, o Aspose.Imaging para .NET fornece a classe JpegOptions, que oferece vários tipos de compressão para imagens JPEG, incluindo:

  • Baseline
  • Progressiva
  • Sem perda
  • JpegLs

Siga estas etapas para comprimir imagens JPEG:

  1. Carregue a imagem JPEG usando a classe Image.
  2. Crie um objeto da classe JpegOptions.
  3. Defina o modo de cor usando a propriedade JpegOptions.ColorType.
  4. Defina o tipo de compressão usando a propriedade JpegOptions.CompressionType.
  5. Salve a imagem usando o método Image.Save(String, JpegOptions).

Aqui está um exemplo em C# mostrando como comprimir uma imagem JPEG:

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_JPEG();
using (var original = Image.Load(dataDir+"ColorGif.gif"))
{
var jpegOptions = new JpegOptions()
{
ColorType = JpegCompressionColorMode.Grayscale,
CompressionType = JpegCompressionMode.Progressive,
};
original.Save("D:/temp/result.jpg", jpegOptions);
}

Aplicar Compressão em Imagens TIFF em C#

O Aspose.Imaging para .NET fornece uma ampla gama de tipos de compressão para imagens TIFF, incluindo LZW, Packbits e CCIT Fax 3 e 4. Você pode selecionar o tipo apropriado com base em seus requisitos. Siga estas etapas para comprimir uma imagem TIFF:

  1. Carregue a imagem TIFF usando a classe Image.
  2. Crie um objeto da classe TiffOptions e inicialize-o com o valor enum TiffExpectedFormat.Default.
  3. Defina BitsPerSample, Compression, Photometric e Palette para a imagem TIFF.
  4. Salve a imagem usando o método Image.Save(String, TiffOptions).

Aqui está um exemplo em C# demonstrando como comprimir imagens TIFF:

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_ModifyingAndConvertingImages();
// Load an image through file path location or stream
Image image = Image.Load(dataDir + "SampleTiff.tiff");
// Create an instance of TiffOptions for the resultant image
TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);
// Set BitsPerSample, Compression, Photometric mode and graycale palette
outputSettings.BitsPerSample = new ushort[] { 4 };
outputSettings.Compression = TiffCompressions.Lzw;
outputSettings.Photometric = TiffPhotometrics.Palette;
outputSettings.Palette = ColorPaletteHelper.Create4BitGrayscale(false);
image.Save(dataDir + "SampleTiff_out.tiff", outputSettings);

Conclusão

Neste post, você aprendeu como comprimir imagens PNG, JPEG e TIFF usando C#. Uma variedade de técnicas de compressão suportadas estão disponíveis para imagens JPEG e TIFF, garantindo compressão eficiente de imagens sem perda de qualidade. Para mais informações, explore a biblioteca de processamento de imagens .NET e melhores práticas para otimização de imagens na documentação.

Veja Também

Info: Usando o conversor de JPG para PPT ou o conversor de PNG para PPT da Aspose, você pode gerar facilmente apresentações do PowerPoint a partir de imagens simples.