La compresión de imágenes es una forma popular de reducir el tamaño de las imágenes. Le permite minimizar el espacio y el tiempo necesarios para almacenar y transmitir imágenes, respectivamente. Hay varias técnicas de compresión disponibles que comprimen imágenes de tal manera que la calidad de las imágenes no se degrada. De acuerdo con eso, esta publicación le brinda algunas formas simples de cómo comprimir imágenes PNG, JPEG y TIFF mediante programación usando C#.
- API de compresión de imágenes C# - Descarga gratuita
- Comprimir imágenes PNG en C#
- Comprimir imágenes JPEG en C#
- Aplicar compresión a imágenes TIFF en C#
API de compresión de imágenes C# - Descarga gratuita
Aspose.Imaging for .NET es una potente API de procesamiento de imágenes que le permite manipular formatos de imagen populares desde sus aplicaciones .NET. Además, la API le permite aplicar diferentes tipos de compresión a las imágenes, incluidos PNG, JPEG y TIFF. Para usar la API, puede descargar su DLL o instalarla usando NuGet.
Install-Package Aspose.Imaging
Comprimir imágenes PNG en C#
Para las imágenes PNG, puede establecer el nivel de compresión de 0 a 9, donde 9 es la compresión máxima y 0 es el modo de almacenamiento. Los siguientes son los pasos para comprimir una imagen PNG usando Aspose.Imaging for .NET.
- Cargue la imagen usando la clase Image.
- Cree un objeto de la clase OpcionesPng.
- Establezca el nivel de compresión usando la propiedad PngOptions.CompressionLevel.
- Guarde la imagen usando el método Image.Save(String, PngOptions).
El siguiente ejemplo de código muestra cómo comprimir imágenes PNG usando C#.
// La ruta al directorio de documentos.
string dataDir = RunExamples.GetDataDir_PNG();
// Cargue una imagen desde un archivo (o transmisión)
using (Image image = Image.Load(dataDir + "aspose_logo.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();
options.CompressionLevel = i;
image.Save(i + "_out.png", options);
}
}
Comprimir imágenes JPEG en C#
Para manejar imágenes JPEG, Aspose.Imaging for .NET proporciona la clase JpegOptions que ofrece los siguientes tipos de compresión para imágenes JPEG.
- Base
- Progresivo
- sin pérdidas
- JPEG
Los siguientes son los pasos para comprimir imágenes JPEG utilizando uno de los tipos de compresión mencionados anteriormente.
- Cargue la imagen JPEG usando la clase Image.
- Cree un objeto de la clase JpegOptions.
- Configure el modo de color usando la propiedad JpegOptions.ColorType.
- Establezca el tipo de compresión usando la propiedad JpegOptions.CompressionType.
- Guarde la imagen usando el método Image.Save(String, JpegOptions).
El siguiente ejemplo de código muestra cómo comprimir una imagen JPEG usando C#.
// La ruta al directorio de documentos.
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 compresión en imágenes TIFF en C#
Aspose.Imaging for .NET proporciona una amplia gama de tipos de compresión para imágenes TIFF, incluidos LZW, Packbits, CCIT Fax 3 y 4, etc. Puede seleccionar el tipo apropiado según sus requisitos. Los siguientes son los pasos para comprimir una imagen TIFF.
- Cargue la imagen TIFF usando la clase Image.
- Cree un objeto de TiffOptions e inicialícelo con TiffExpectedFormat.Default valor de enumeración.
- Establezca el modo BitsPerSample, Compression, Photometric y Palette para la imagen Tiff.
- Guarde la imagen usando el método Image.Save(String, TiffOptions).
El siguiente ejemplo de código muestra cómo comprimir imágenes TIFF usando C#.
// La ruta al directorio de documentos.
string dataDir = RunExamples.GetDataDir_ModifyingAndConvertingImages();
// Cargue una imagen a través de la ubicación de la ruta del archivo o la secuencia
Image image = Image.Load(dataDir + "SampleTiff.tiff");
// Cree una instancia de TiffOptions para la imagen resultante
TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);
// Establecer bits por muestra, compresión, modo fotométrico y paleta de escala de grises
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);
Conclusión
En esta publicación, ha aprendido cómo comprimir imágenes PNG, JPEG y TIFF usando C#. También se han enumerado varias técnicas de compresión admitidas para imágenes JPEG y TIFF. Puede explorar más sobre la API de procesamiento de imágenes de .NET utilizando documentación.
Ver también
Información: Con el convertidor Aspose JPG a PPT o PNG a PPT, puede generar presentaciones de PowerPoint a partir de imágenes simples.