Cómo comprimir imágenes en C#

Cómo comprimir imágenes en C#

Integre esta biblioteca de compresión .NET para comprimir los formatos de archivo de imagen populares como TIFF, JPG, PNG y más. En las grandes organizaciones, el almacenamiento de archivos es un tema crítico y siempre se tiende a optimizar los archivos de su negocio y hacer que su tamaño sea eficiente en memoria. Por lo tanto, puede usar esta biblioteca para comprimir imágenes mediante programación en una aplicación .NET. Además, también obtendrá los fragmentos de código y los pasos sobre cómo comprimir imágenes en C#|.

Los siguientes puntos serán cubiertos en esta guía:

Instalación de la biblioteca de compresión .NET

En cuanto a la instalación de esta API, es súper sencilla. Puede descargar su archivo DLL o instalarlo ejecutando el siguiente comando en el administrador de paquetes NuGet.

Install-Package Aspose.Imaging

Comprimir JPG programáticamente

Ahora, implementaremos cómo comprimir las imágenes en C# mediante programación. Puede seguir los pasos y el fragmento de código mencionado a continuación:

  1. Cree una instancia de la clase Image y llame al método Load para cargar una imagen JPG.
  2. Inicializa un objeto de la clase JpegOptions.
  3. Establezca el tipo de color para la imagen JPEG configurando el valor de la propiedad ColorType.
  4. Especifique el tipo de compresión configurando el valor de la propiedad CompressionType.
  5. El método Save guardará la imagen.

Copie y pegue el siguiente código en su archivo principal:

// Cree una instancia de Image y class y llame al método Load para cargar una imagen JPG  
using (var original = Image.Load( "sample.jpg"))
{
    // Inicializar un objeto de la clase JpegOptions 
    var jpegOptions = new JpegOptions()
    {
        // Establezca el tipo de color para la imagen jpeg configurando el valor de la propiedad ColorType.   
        ColorType = JpegCompressionColorMode.Grayscale,
        // Especifique el tipo de compresión configurando el valor de la propiedad CompressionType 
        CompressionType = JpegCompressionMode.Progressive,

    };
    //  Guardar método guardará la imagen.
    original.Save( "result.jpg", jpegOptions);
}

Cómo comprimir TIFF en C#

Para comprimir una imagen TIFF, debe seguir los siguientes pasos:

Los siguientes son los pasos:

  1. Invoque el método Load para cargar una imagen TIFF.
  2. Inicialice el constructor de la clase TiffOptions con el valor TiffExpectedFormat.Default.
  3. Establezca el valor de la propiedad BitsPerSample.
  4. Además, establezca el valor de la propiedad Compression.
  5. Finalmente, establezca las propiedades Fotométrica y Paleta.
  6. Llame al método Save para guardar la imagen.

Copie y pegue el siguiente código en su archivo principal:

//  Invoque el método Load para cargar una imagen TIFF  
using (Image image = Image.Load( "sample.tiff"))
{
    // Inicialice el constructor de la clase TiffOptions con el valor TiffExpectedFormat.Default.  
    TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);
    // Establecer el valor de la propiedad BitsPerSample 
    outputSettings.BitsPerSample = new ushort[] { 4 };
    // Además, establezca el valor de la propiedad Compresión 
    outputSettings.Compression = TiffCompressions.Lzw;
    // Finalmente configure las propiedades Fotométricas, Paleta  
    outputSettings.Photometric = TiffPhotometrics.Palette;
    outputSettings.Palette = ColorPaletteHelper.Create4BitGrayscale(false);
    // Llame al método Guardar para guardar la imagen. 
    image.Save(  "result.tiff", outputSettings);
}

¿Cómo reducir el tamaño del archivo PNG?

Esta biblioteca de compresión .NET ofrece una amplia gama de métodos para manipular y comprimir archivos PNG fácilmente.

Los siguientes son los pasos y el fragmento de código para comprimir PNG mediante programación:

  1. Cargue una imagen PNG llamando al método Load.
  2. Bucle sobre el posible rango de CompressionLevel.
  3. Cree una instancia de la clase OpcionesPng para cada PNG resultante, establezca el nivel de compresión y guarde el resultado en el disco.
  4. El nivel de compresión de la imagen PNG está en el rango de 0 a 9, donde 9 es la compresión máxima y 0 es el modo de almacenamiento. Establezca el valor de la propiedad CompressionLevel.
  5. Invoque el método Save para guardar la imagen.

Copie y pegue el siguiente código en su archivo principal:

// Cargue una imagen desde un archivo llamando al método Load 
using (Image image = Image.Load( "result.png"))
{
    // Bucle sobre el posible rango de CompressionLevel 
    for (int i = 0; i <= 9; i++)
    {
        // Cree una instancia de PngOptions para cada PNG resultante, establezca CompressionLevel y guarde el resultado en el disco 
        PngOptions options = new PngOptions();
        // El nivel de compresión de la imagen png en el rango de 0-9, donde 9 es la compresión máxima y 0 es el modo de almacenamiento. Establezca el valor de la propiedad CompressionLevel.
        options.CompressionLevel = i;
        // Invocar el método save para guardar la imagen 
        image.Save(i + "_dam.png", options);
    }
}

Obtenga una licencia gratis

Puede aprovechar una licencia temporal gratuita para probar la API sin limitaciones de evaluación.

Resumiendo

Podemos concluir esta publicación de blog tutorial con la esperanza de que haya aprendido a comprimir imágenes en C#. Además, ha pasado por esta biblioteca de compresión .NET para comprimir los formatos de archivo de imagen PNG, TIFF y JPG mediante programación. Lo que es más importante, puede visitar la documentación para conocer otras funciones.

Además, le sugerimos que siga nuestra Guía de introducción.

Finalmente, conholdate.com está escribiendo nuevas publicaciones de blog. Por lo tanto, manténgase en contacto para recibir actualizaciones periódicas.

Hacer una pregunta

Puede informarnos acerca de sus preguntas o consultas en nuestro foro.

preguntas frecuentes

¿Cómo comprimo una imagen en .NET core?

Visite este enlace para conocer los fragmentos de código y los métodos API expuestos por esta biblioteca de compresión .NET.

¿Cómo comprimir PNG?

Cree una instancia de PngOptions para cada PNG resultante, establezca el valor de la propiedad CompressionLevel e invoque el método save para guardar la imagen.

Ver también