Compress GIF images via Java
Build your own Java apps to compress GIF files using server-side APIs
How to Compress GIF Files Using Java
Preparing images for publication involves both creative and technical aspects, including file compression. While high-resolution images are crucial for print or outdoor advertising, they might reduce web performance due to their large file size. The appropriate image compression technique varies depending on the purpose and publishing platform. Large files can slow down loading times, particularly on mobile connections, leading to a poor user experience. Users might abandon a site that takes too long to load and seek a faster alternative. Conversely, excessive image compression can result in blurriness and pixelation, degrading the viewing experience. The right choice of compression algorithms and ratios is essential to strike a balance between file size and image quality. In order to compress GIF files, we’ll use Aspose.Imaging for Java API which is a feature-rich, powerful and easy to use image manipulation and conversion API for Java platform. You can download its latest version directly from Maven and install it within your Maven-based project by adding the following configurations to the pom.xml.
Repository
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Dependency
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>version of aspose-imaging API</version>
<classifier>jdk16</classifier>
</dependency>
Steps to Compress GIF via Java
You need the aspose-imaging-version-jdk16.jar to try the following workflow in your own environment.
- Load GIF files with Image.load method
- Compress images;
- Save compressed image to disc in the supported by Aspose.Imaging format
System Requirements
Aspose.Imaging for Java is supported on all major operating systems. Just make sure that you have the following prerequisites.
- JDK 1.6 or higher is installed.
Compress GIF images - Java
import com.aspose.imaging.ColorPaletteHelper; | |
import com.aspose.imaging.Image; | |
import com.aspose.imaging.RasterImage; | |
import com.aspose.imaging.imageoptions.GifOptions; | |
String templatesFolder = "C:\\WorkDir\\"; | |
String inputFile = templatesFolder + "template.gif"; | |
String outputFile = templatesFolder + "compressed_gif.gif"; | |
try (Image image = Image.load(inputFile)) | |
{ | |
GifOptions options = new GifOptions(); | |
options.setPaletteSorted(false); | |
options.setDoPaletteCorrection(false); | |
options.setMaxDiff(500); | |
options.setColorResolution((byte) 7); | |
options.setPalette(ColorPaletteHelper.getCloseImagePalette((RasterImage) image, 1 << 8)); | |
image.save(outputFile, options); | |
} |
About Aspose.Imaging for Java API
Aspose.Imaging API is an image processing solution to create, modify, draw or convert images (photos) within applications. It offers: cross-platform Image processing, including but not limited to conversions between various image formats (including uniform multi-page or multi-frame image processing), modifications such as drawing, working with graphic primitives, transformations (resize, crop, flip&rotate, binarization, grayscale, adjust), advanced image manipulation features (filtering, dithering, masking, deskewing), and memory optimization strategies. It’s a standalone library and does not depend on any software for image operations. One can easily add high-performance image conversion features with native APIs within projects. These are 100% private on-premise APIs and images are processed at your servers.Compress GIF via Online App
Compress GIF documents by visiting our Live Demos website The live demo has the following benefits
GIF What is GIF File Format
A GIF or Graphical Interchange Format is a type of highly compressed image. Owned by Unisys, GIF uses the LZW compression algorithm that does not degrade the image quality. For each image GIF typically allow up to 8 bits per pixel and up to 256 colours are allowed across the image. In contrast to a JPEG image, which can display up to 16 million colours and fairly touches the limits of the human eye. Back when the internet emerged, GIFs remained the best choice because they required low bandwidth and compatible for the graphics that consume solid areas of colour. An animated GIF combines numerous images or frames into a single file and displays them in a sequence to generate an animated clip or a short video. The colour limitations are up to 256 for each frame and are likely to be the least suitable for reproducing other images and photographs with colour gradient.
Read MoreOther Supported Compress Formats
Using Java, one can easily compress different formats including: