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
- PNG Bilder in Java komprimieren
- Komprimieren Sie JPEG Bilder in Java
- Komprimierung auf TIFF Bilder in Java anwenden
- Holen Sie sich eine kostenlose API Lizenz
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.
- Laden Sie zuerst das PNG Bild mit der Klasse Image.
- Erstellen Sie eine Instanz der Klasse PngOptions.
- Stellen Sie die Komprimierungsstufe mit der methode PngOptions.setCompressionLevel(int) ein.
- Speichern Sie abschließend das komprimierte PNG Bild mit der methode Image.save(String, PngOptions).
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.
- Laden Sie zuerst das JPEG Bild mit der Klasse Image.
- Erstellen Sie eine Instanz der Klasse JpegOptions.
- Stellen Sie die Komprimierungsstufe mit der methode JpegOptions.setCompressionType(JpegCompressionMode) ein.
- Speichern Sie abschließend das komprimierte JPEG Bild mit der methode Image.save(String, JpegOptions).
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.
- Laden Sie zuerst das TIFF Bild mit der Klasse Image.
- Erstellen Sie eine Instanz der Klasse TiffOptions.
- Stellen Sie die Komprimierungsstufe mit der methode TiffOptions.setCompression(TiffCompressions) ein.
- Legen Sie andere Optionen wie Bits pro Sample, Fotometrie, Palette usw. fest.
- Speichern Sie schließlich das komprimierte TIFF Bild mit der methode Image.save(String, TiffOptions).
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.