I olika scenarier komprimeras bilderna för att minska filstorleken. För detta låter olika online- eller offlineapplikationer dig använda bildkomprimering. I vissa fall kan du dock behöva implementera bildkomprimeringsfunktionen från dina webb- eller skrivbordsprogram. För sådana fall täcker den här artikeln hur man komprimerar bilder inklusive PNG, JPEG och TIFF programmatiskt med Java.

Bästa Java Image Compression API - Gratis nedladdning

Aspose.Imaging for Java är ett kraftfullt API som låter dig utföra olika bildbehandlingsoperationer inifrån Java-applikationerna. Dessutom låter den dig komprimera PNG-, JPEG- och TIFF-bilder sömlöst. För att använda API:t kan du antingen ladda ner dess JAR eller installera den i dina Maven-baserade applikationer.

<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>

Komprimera PNG-bilder i Java

PNG-formatet stöder en förlustfri komprimering vilket innebär att komprimering av en PNG-bild minskar dess filstorlek men inte kvaliteten. För PNG-bilder låter Aspose.Imaging för Java dig ställa in komprimeringsnivåer från 0 till 9 där 0 och 9 är lägsta respektive högsta komprimeringsnivåer. Följande är stegen för att komprimera en PNG-bild med Java.

Följande kodexempel visar hur man komprimerar en PNG-bild med Java.

// Ladda en bild från fil (eller stream)
Image image = Image.load("aspose_logo.png");

// Slinga över möjliga kompressionsnivåintervall
for (int i = 0; i <= 9; i++) {
	
  // Skapa en instans av PngOptions för varje resulterande PNG
	PngOptions options = new PngOptions();
	
  // Ställ in kompressionsnivå
	options.setCompressionLevel(i);
	
  // Spara resultatet på disk (eller stream)
	image.save("CompressingFiles_out" + i + ".png", options);
}

JPEG-bildkomprimering med Java

För JPEG-bildkomprimering tillhandahåller Aspose.Imaging för Java följande komprimeringstyper.

  • Baslinje
  • Progressiv
  • Förlust mindre
  • JpegLs

Följande är stegen för att tillämpa en av de ovan nämnda komprimeringstyperna på JPEG-bilder med Java.

Följande kodexempel visar hur man komprimerar JPEG-bilder med Java.

// Ladda bilden
Image original = Image.load("Input.jpeg");
try
{
    JpegOptions jpegOptions = new JpegOptions()
	  {{
        // Applicera kompression
		    setCompressionType(JpegCompressionMode.Progressive);
	  }};
  
  // Spara komprimerad bild
  original.save("result.jpg", jpegOptions);
}
finally
{
  original.dispose();
}

Komprimera TIFF-bilder med Java

Aspose.Imaging för Java tillhandahåller en mängd olika TIFF-komprimeringstyper som inkluderar LZW, Packbits, CCIT Fax 3 & 4 och etc. Därför kan du välja den komprimeringstyp som bäst passar dina krav. Följande är stegen för att utföra TIFF-komprimering med Java.

Följande kodexempel visar hur man komprimerar TIFF-bilder med Java.

// Ladda en bild via filsökvägsplats eller ström
try (Image image = Image.load("sample.tiff"))
{
	// Skapa en instans av TiffOptions för den resulterande bilden
	TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);

	// Ställ in BitsPerSample, Kompression, Fotometriskt läge och gråskalepalett
	outputSettings.setBitsPerSample(new int[] { 4 });
	outputSettings.setCompression(TiffCompressions.Lzw);
	outputSettings.setPhotometric(TiffPhotometrics.Palette);
	outputSettings.setPalette(ColorPaletteHelper.create4BitGrayscale(false));
	image.save("SampleTiff_out.tiff", outputSettings);
}

Java API för att komprimera bilder - Skaffa en gratis licens

Om du vill prova API utan utvärderingsbegränsningar kan du skaffa en gratis tillfällig licens.

Slutsats

Bildkomprimering krävs ofta för att minska storleken på bilderna. Därför behandlade den här artikeln hur man komprimerar PNG-, JPEG- och TIFF-bilder programmatiskt med Java. Dessutom kan du utforska mer om Javas bildbehandlings-API med hjälp av dokumentation.

Se även

Info: Aspose utvecklade nyligen en ny webbapp online som låter dig omvandla en uppsättning bilder till en video. Du kanske också är intresserad av en annan tjänst som kan användas för att komprimera videor genom att extrahera ljuden från videor.