V různých scénářích jsou obrázky komprimovány, aby se zmenšila jejich velikost souboru. K tomu vám různé online nebo offline aplikace umožňují použít kompresi obrazu. V určitých případech však může být nutné implementovat funkci komprese obrazu z webových nebo desktopových aplikací. Pro takové případy tento článek popisuje, jak komprimovat obrázky včetně PNG, JPEG a TIFF programově pomocí Java.

Nejlepší Java Image Compression API – ke stažení zdarma

Aspose.Imaging for Java je výkonné API, které umožňuje provádět různé operace zpracování obrazu z aplikací Java. Navíc umožňuje bezproblémovou kompresi obrázků PNG, JPEG a TIFF. Abyste mohli API používat, můžete si stáhnout jeho JAR nebo jej nainstalovat do svých aplikací založených na 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>

Komprimujte obrázky PNG v Javě

Formát PNG podporuje bezeztrátovou kompresi, což znamená, že komprimací obrázku PNG se sníží velikost souboru, ale ne kvalita. Pro obrázky PNG vám Aspose.Imaging for Java umožňuje nastavit úrovně komprese od 0 do 9, kde 0 a 9 jsou minimální a maximální úrovně komprese. Následují kroky ke kompresi obrázku PNG pomocí Java.

Následující ukázka kódu ukazuje, jak komprimovat obrázek PNG pomocí Java.

// Načíst obrázek ze souboru (nebo streamu)
Image image = Image.load("aspose_logo.png");

// Smyčka přes možný rozsah úrovně komprese
for (int i = 0; i <= 9; i++) {
	
  // Vytvořte instanci PngOptions pro každý výsledný PNG
	PngOptions options = new PngOptions();
	
  // Nastavte úroveň komprese
	options.setCompressionLevel(i);
	
  // Uložit výsledek na disk (nebo stream)
	image.save("CompressingFiles_out" + i + ".png", options);
}

Komprese obrázků JPEG pomocí Java

Pro kompresi obrázků JPEG poskytuje Aspose.Imaging for Java následující typy komprese.

  • Základní linie
  • Progresivní
  • Bezztrátový
  • JpegLs

Následují kroky pro použití jednoho z výše uvedených typů komprese na obrázky JPEG pomocí Java.

Následující ukázka kódu ukazuje, jak komprimovat obrázky JPEG pomocí Java.

// Načíst obrázek
Image original = Image.load("Input.jpeg");
try
{
    JpegOptions jpegOptions = new JpegOptions()
	  {{
        // Použijte kompresi
		    setCompressionType(JpegCompressionMode.Progressive);
	  }};
  
  // Uložit komprimovaný obrázek
  original.save("result.jpg", jpegOptions);
}
finally
{
  original.dispose();
}

Komprimujte obrázky TIFF pomocí Java

Aspose.Imaging for Java poskytuje různé typy komprese TIFF, které zahrnují LZW, Packbits, CCIT Fax 3 & 4 atd. Můžete si tedy vybrat typ komprese, který nejlépe vyhovuje vašim požadavkům. Následují kroky k provedení komprese TIFF pomocí Java.

Následující ukázka kódu ukazuje, jak komprimovat obrázky TIFF pomocí Java.

// Načtěte obrázek přes umístění cesty k souboru nebo stream
try (Image image = Image.load("sample.tiff"))
{
	// Vytvořte instanci TiffOptions pro výsledný obrázek
	TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);

	// Nastavte BitsPerSample, Compression, Photometric mode a grayscale paletu
	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 pro kompresi obrázků - Získejte bezplatnou licenci

V případě, že chcete API vyzkoušet bez omezení hodnocení, můžete získat bezplatnou dočasnou licenci.

Závěr

Komprese obrazu je často vyžadována, aby se zmenšila velikost obrázků. Proto se tento článek zabýval tím, jak komprimovat obrázky PNG, JPEG a TIFF programově pomocí Java. Kromě toho můžete prozkoumat více o rozhraní API pro zpracování obrazu Java pomocí dokumentace.

Viz také

Informace: Aspose nedávno vyvinul novou online webovou aplikaci, která vám umožňuje přeměnit sadu obrázků na video. Také by vás mohla zajímat další služba, kterou lze použít ke kompresi videí extrahováním zvuků z videí.