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
- Comprimir imágenes PNG en Java
- Comprimir imágenes JPEG en Java
- Aplicar compresión a imágenes TIFF en Java
- Obtenga una licencia de API gratuita
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.
- Primero, cargue la imagen PNG usando la clase Image.
- Cree una instancia de la clase OpcionesPng.
- Establezca el nivel de compresión usando el método PngOptions.setCompressionLevel(int).
- Finalmente, guarde la imagen PNG comprimida usando el método Image.save(String, PngOptions).
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.
- Primero, cargue la imagen JPEG usando la clase Image.
- Cree una instancia de la clase JpegOptions.
- Establezca el nivel de compresión usando el método JpegOptions.setCompressionType(JpegCompressionMode).
- Finalmente, guarde la imagen JPEG comprimida usando el método Image.save(String, JpegOptions).
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.
- Primero, cargue la imagen TIFF usando la clase Image.
- Cree una instancia de la clase TiffOptions.
- Establezca el nivel de compresión usando el método TiffOptions.setCompression(TiffCompressions).
- Establezca otras opciones como bits por muestra, fotométrico, paleta, etc.
- Finalmente, guarde la imagen TIFF comprimida usando el método Image.save(String, TiffOptions).
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.