En varios escenarios, las imágenes se comprimen para reducir su tamaño de archivo. Para ello, distintas aplicaciones online u offline te permiten aplicar compresión de imágenes. Sin embargo, en ciertos casos, es posible que deba implementar la función de compresión de imágenes desde sus aplicaciones web o de escritorio. Para tales casos, este artículo cubre cómo comprimir imágenes que incluyen PNG, JPEG y TIFF mediante programación usando Java.

API de compresión de imágenes de Java

Aspose.Imaging for Java es una potente API que le permite realizar varias operaciones de procesamiento de imágenes desde las aplicaciones de Java. Además, le permite comprimir imágenes PNG, JPEG y TIFF sin problemas. Para usar la API, puede descargar su JAR o instalarlo dentro de sus aplicaciones basadas en Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging</artifactId>
    <version>20.12</version>
    <classifier>jdk16</classifier>
</dependency>

Comprimir imágenes PNG en Java

El formato PNG admite una compresión sin pérdidas, lo que significa que comprimir una imagen PNG reducirá el tamaño del archivo, pero no la calidad. Para las imágenes PNG, Aspose.Imaging for Java le permite establecer niveles de compresión de 0 a 9, donde 0 y 9 son los niveles de compresión mínimo y máximo, respectivamente. Los siguientes son los pasos para comprimir una imagen PNG usando Java.

El siguiente ejemplo de código muestra cómo comprimir una imagen PNG usando Java.

// Cargue una imagen desde un archivo (o transmisión)
Image image = Image.load("aspose_logo.png");

// Bucle sobre el posible rango de nivel de compresión
for (int i = 0; i <= 9; i++) {
	
  // Cree una instancia de PngOptions para cada PNG resultante
	PngOptions options = new PngOptions();
	
  // Establecer el nivel de compresión
	options.setCompressionLevel(i);
	
  // Guardar resultado en disco (o flujo)
	image.save("CompressingFiles_out" + i + ".png", options);
}

Comprimir imágenes JPEG usando Java

Para la compresión de imágenes JPEG, Aspose.Imaging for Java proporciona los siguientes tipos de compresión.

  • Base
  • Progresivo
  • sin pérdidas
  • JPEG

Los siguientes son los pasos para aplicar uno de los tipos de compresión mencionados anteriormente a imágenes JPEG usando Java.

El siguiente ejemplo de código muestra cómo comprimir imágenes JPEG usando Java.

// Cargar imagen
Image original = Image.load("Input.jpeg");
try
{
    JpegOptions jpegOptions = new JpegOptions()
	  {{
        // Aplicar compresión
		    setCompressionType(JpegCompressionMode.Progressive);
	  }};
  
  // Guardar imagen comprimida
  original.save("result.jpg", jpegOptions);
}
finally
{
  original.dispose();
}

Comprimir imágenes TIFF usando Java

Aspose.Imaging for Java proporciona una variedad de tipos de compresión TIFF que incluyen LZW, Packbits, CCIT Fax 3 y 4, etc. Por lo tanto, puede seleccionar el tipo de compresión que mejor se adapte a sus necesidades. Los siguientes son los pasos para realizar la compresión TIFF usando Java.

El siguiente ejemplo de código muestra cómo comprimir imágenes TIFF usando Java.

// Cargue una imagen a través de la ubicación de la ruta del archivo o la secuencia
try (Image image = Image.load("sample.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.setBitsPerSample(new int[] { 4 });
	outputSettings.setCompression(TiffCompressions.Lzw);
	outputSettings.setPhotometric(TiffPhotometrics.Palette);
	outputSettings.setPalette(ColorPaletteHelper.create4BitGrayscale(false));
	image.save("SampleTiff_out.tiff", outputSettings);
}

Obtenga una licencia de API gratuita

En caso de que quiera probar la API sin limitaciones de evaluación, puede obtener una licencia temporal gratuita.

Conclusión

A menudo se requiere compresión de imágenes para reducir el tamaño de las imágenes. Por lo tanto, este artículo cubre cómo comprimir imágenes PNG, JPEG y TIFF mediante programación usando Java. Además, puede explorar más sobre la API de procesamiento de imágenes de Java usando documentación.

Ver también

Información: Aspose desarrolló recientemente una nueva aplicación web en línea que le permite transformar un conjunto de imágenes en un video. También te puede interesar otro servicio que se puede usar para comprimir videos extrayendo los sonidos de los videos.