Bilder in Java ändern

Die Größenänderung von Bildern ist eine häufige Anforderung in verschiedenen Anwendungen, von der Webentwicklung bis zur Dokumentenverarbeitung und Grafikdesign. Ob Sie Bilder zur Optimierung der Ladegeschwindigkeit verkleinern oder für hochauflösende Drucke vergrößern müssen, Java bietet leistungsstarke Lösungen zur effizienten Handhabung der Größenänderung von Bildern. In diesem Blogbeitrag werden wir untersuchen, wie man Raster und Vektorbilder in Java ändern kann. Es bietet schrittweise Beispiele, die demonstrieren, wie man verschiedene Bildtypen wie JPG, PNG, SVG usw. programmatisch anpassen kann.

Sie werden die folgenden Überschriften lernen, um dieses Thema im Detail zu erkunden:

Warum Bilder zuschneiden?

Das Ändern der Größe von Bildern ist in verschiedenen Szenarien entscheidend, einschließlich:

  • Optimierung der Website-Leistung: Große Bilder können Websites verlangsamen. Ihre Größenanpassung auf geeignete Abmessungen verbessert die Ladegeschwindigkeit der Seite und verbessert das Benutzererlebnis.

  • Reduzierung des Speicherplatzes: Das Verkleinern von Bildern auf kleinere Dimensionen verringert die Dateigrößen, spart Festplattenspeicher und Bandbreite.

  • Druck und Grafik Anwendungen: Das Vergrößern von Bildern für hochwertige Drucke bei gleichzeitiger Wahrung der Qualität ist entscheidend im digitalen Publizieren und Grafikdesign.

  • Konsistente Darstellung auf Geräten: Verschiedene Bildschirmgrößen erfordern, dass Bilder dynamisch in der Größe angepasst werden, um ein einheitliches Erscheinungsbild zu gewährleisten.

Skalieren von Fotos - Java API-Konfiguration

Sie können Conholdate.Total für Java problemlos installieren, um Fotos in Java zu skalieren. Fügen Sie einfach die folgenden Maven-Konfigurationen in die Datei pom.cml Ihrer Anwendung ein:

<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>25.1</version>
<type>pom</type>
</dependency>

Jetzt lassen Sie uns erkunden, wie man sowohl Raster- als auch Vektorbilder in Java skalieren kann.

Ändern Sie die Größe von JPG oder PNG-Rasterbildern in Java

Rasterbilder, wie PNG und JPEG, bestehen aus Pixeln. Beim Ändern der Größe von Rasterbildern ist es wichtig, das Seitenverhältnis beizubehalten und den Qualitätsverlust zu minimieren. Sie müssen die folgenden Schritte ausführen, um JPG, PNG, BMP oder andere Rasterbilder in Java zu ändern.

  • Das Laden des Bildes: Das Eingabebild wird mit der Methode Image.load() geladen.

  • Caching von Bilddaten: Das Zwischenspeichern von Bilddaten verbessert die Verarbeitungsleistung.

  • Proportional anpassen: Das Bild wird auf die Hälfte seiner ursprünglichen Breite und Höhe verkleinert, um das Seitenverhältnis beizubehalten.

  • Die gespeicherte Ausgabe: Das verkleinerte Bild wird im PNG-Format gespeichert.

Der folgende Java-Codeausschnitt demonstriert, wie man ein Rasterbild mit Java resize:

// Load image
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("aspose-logo.png");

// Cache bilddaten
if (!image.isCached())
{
    image.cacheData();    
}
    
// Breite und Höhe angeben
int newWidth = image.getWidth() / 2;
image.resizeWidthProportionally(newWidth);
int newHeight = image.getHeight() / 2;
image.resizeHeightProportionally(newHeight);

// Save image
image.save("ResizeRasterImage.png");

SVG-Vektorbilder in Java skalieren

Im Gegensatz zu Rasterbildern sind Vektorbilder (z. B. SVG) auflösungsunabhängig und verwenden mathematische Gleichungen zur Definition von Formen. Die Größenänderung von Vektorbildern erfolgt durch Skalierung, ohne dass die Qualität verloren geht.

  • Laden des Vektorbildes: Die SVG-Datei wird mit der Methode Image.load() geladen.

  • Die Bildgröße ändern: Die Breite wird um das 10-Fache erhöht, und die Höhe wird um 15 erhöht.

  • Rasterisierungsoptionen konfigurieren: Das Vektorbild wird für die Rasterisierung im PNG-Format vorbereitet.

  • Das gespeicherte Bild in der Größe: Das endgültige Ergebnis wird als PNG-Datei gespeichert.

Unten ist ein Java-Beispiel, das zeigt, wie man ein Vektorbild in der Größe ändert und als PNG speichert:

// Lade Vektorbild eingeben
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("image.svg");

// Bild als PNG verkleinern
image.resize(image.getWidth() * 10,image.getHeight() * 15);
com.aspose.imaging.imageoptions.PngOptions options = new com.aspose.imaging.imageoptions.PngOptions();
options.setVectorRasterizationOptions(new com.aspose.imaging.imageoptions.SvgRasterizationOptions());

// Speichern Sie das Ausgabe-Resize bild
image.save("resize.png", options);

Erhalte eine kostenlose Lizenz

Sie können alle Funktionen der API bis zur vollen Kapazität testen, indem Sie eine kostenlose temporäre Lizenz erhalten.

Zusammenfassung

Sie können sowohl Raster- als auch Vektorbilder effizient in der Größe ändern, während die Qualität erhalten bleibt. Ob Sie Bilder für das Web optimieren, die Speicherkosten senken oder eine konsistente Anzeige auf verschiedenen Geräten sicherstellen möchten, Java bietet leistungsstarke Lösungen für die Bildskalierung. Wenn Sie jedoch Ihre Fragen besprechen möchten, schreiben Sie uns bitte im forum.

Siehe Auch