In verschiedenen Szenarien werden die Bilder komprimiert, um ihre Dateigröße zu reduzieren. Zu diesem Zweck können Sie mit verschiedenen Online oder Offline Anwendungen die Bildkomprimierung anwenden. In bestimmten Fällen müssen Sie jedoch möglicherweise die Bildkomprimierungsfunktion in Ihren Web oder Desktopanwendungen implementieren. In solchen Fällen behandelt dieser Artikel, wie Bilder einschließlich PNG, JPEG und TIFF programmgesteuert mit Java komprimiert werden.

Java Bildkomprimierungs-API

Aspose.Imaging for Java ist eine leistungsstarke API, mit der Sie verschiedene Bildverarbeitungsvorgänge aus Java Anwendungen heraus ausführen können. Darüber hinaus können Sie PNG, JPEG und TIFF Bilder nahtlos komprimieren. Um die API zu verwenden, können Sie ihr JAR entweder herunterladen oder es in Ihren Maven-basierten Anwendungen installieren.

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

PNG Bilder in Java komprimieren

Das PNG Format unterstützt eine verlustfreie Komprimierung, was bedeutet, dass das Komprimieren eines PNG Bildes seine Dateigröße, aber nicht die Qualität reduziert. Für PNG Bilder können Sie mit Aspose.Imaging for Java Komprimierungsstufen von 0 bis 9 festlegen, wobei 0 und 9 die minimale bzw. maximale Komprimierungsstufe sind. Im Folgenden sind die Schritte zum Komprimieren eines PNG Bildes mit Java aufgeführt.

Das folgende Codebeispiel zeigt, wie ein PNG Bild mit Java komprimiert wird.

// Laden Sie ein Bild aus einer Datei (oder einem Stream)
Image image = Image.load("aspose_logo.png");

// Schleife über möglichen Kompressionsstufenbereich
for (int i = 0; i <= 9; i++) {
	
  // Erstellen Sie eine Instanz von PngOptions für jedes resultierende PNG
	PngOptions options = new PngOptions();
	
  // Komprimierungsstufe einstellen
	options.setCompressionLevel(i);
	
  // Ergebnis auf Festplatte speichern (oder streamen)
	image.save("CompressingFiles_out" + i + ".png", options);
}

Komprimieren Sie JPEG Bilder mit Java

Für die JPEG Bildkomprimierung bietet Aspose.Imaging for Java die folgenden Komprimierungstypen.

  • Grundlinie
  • Progressiv
  • Verlustfrei
  • JPEG

Im Folgenden finden Sie die Schritte zum Anwenden einer der oben genannten Komprimierungsarten auf JPEG Bilder mit Java.

Das folgende Codebeispiel zeigt, wie JPEG Bilder mit Java komprimiert werden.

// Bild laden
Image original = Image.load("Input.jpeg");
try
{
    JpegOptions jpegOptions = new JpegOptions()
	  {{
        // Kompression anwenden
		    setCompressionType(JpegCompressionMode.Progressive);
	  }};
  
  // Komprimiertes Bild speichern
  original.save("result.jpg", jpegOptions);
}
finally
{
  original.dispose();
}

Komprimieren Sie TIFF Bilder mit Java

Aspose.Imaging for Java bietet eine Vielzahl von TIFF-Komprimierungstypen, darunter LZW, Packbits, CCIT Fax 3 & 4 usw. Daher können Sie den Komprimierungstyp auswählen, der Ihren Anforderungen am besten entspricht. Im Folgenden sind die Schritte zum Ausführen der TIFF-Komprimierung mit Java aufgeführt.

Das folgende Codebeispiel zeigt, wie TIFF Bilder mit Java komprimiert werden.

// Laden Sie ein Bild über den Dateipfad oder Stream
try (Image image = Image.load("sample.tiff"))
{
	// Erstellen Sie eine Instanz von TiffOptions für das resultierende Bild
	TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);

	// Stellen Sie BitsPerSample, Komprimierung, Photometrischer Modus und Graustufenpalette ein
	outputSettings.setBitsPerSample(new int[] { 4 });
	outputSettings.setCompression(TiffCompressions.Lzw);
	outputSettings.setPhotometric(TiffPhotometrics.Palette);
	outputSettings.setPalette(ColorPaletteHelper.create4BitGrayscale(false));
	image.save("SampleTiff_out.tiff", outputSettings);
}

Holen Sie sich eine kostenlose API Lizenz

Falls Sie die API ohne Evaluierungseinschränkungen ausprobieren möchten, können Sie eine kostenlose temporäre Lizenz erhalten.

Fazit

Eine Bildkomprimierung ist häufig erforderlich, um die Größe der Bilder zu reduzieren. Daher befasste sich dieser Artikel mit der programmgesteuerten Komprimierung von PNG, JPEG und TIFF Bildern mit Java. Darüber hinaus können Sie mit Dokumentation mehr über die Java Bildverarbeitungs-API erfahren.

Siehe auch

Info: Aspose hat kürzlich eine neue Online Webanwendung entwickelt, mit der Sie einen Satz Bilder in ein Video umwandeln. Möglicherweise interessieren Sie sich auch für einen anderen Dienst, mit dem Sie Videos komprimieren können, indem Sie Ton aus Videos extrahieren.