Unser persönliches bis offizielles Leben ist von Rasterbildern umgeben. Durch die Verwendung von Mobiltelefonen, Scannern, Bildverarbeitungsgeräten und verschiedenen anderen Kameras, die in verschiedenen Geräten verwendet werden, produzieren wir eine große Datenmenge in Form von Bildern. Abhängig vom Komprimierungsalgorithmus erzeugt nun jedes Gerät die Bilder in unterschiedlichen Abmessungen und Größen. Falls wir jedoch die Anforderung haben, die Bilder (JPG, PNG, GIF, TIFF usw.) in einheitlichen Abmessungen zu speichern, müssen wir dies tun Größe von Bildern ändern. Auf dem Markt sind zwar zahlreiche Foto-Resizer-Anwendungen verfügbar, aber wenn wir die Bildgröße online in großen Mengen ändern müssen, ist eine programmgesteuerte Lösung immer ein praktikabler Ansatz. Daher besprechen wir in diesem Artikel die Details/Schritte zur Entwicklung der Bildgrößenanpassung mithilfe des Java Cloud SDK.
API zur Bildgrößenänderung
Um die Bildgröße zu ändern, verwenden wir Aspose.Imaging Cloud SDK für Java. Dank der REST-basierten Architektur können wir auf jeder Plattform auf die API zugreifen und einen Foto-Resizer entwickeln. Neben der Funktion zur Online-Größenänderung von Bildern können Sie damit auch Bilddateien erstellen, bearbeiten und in verschiedene unterstützte Dateiformate umwandeln. Um nun zu beginnen, müssen wir seine Referenz im Java-Projekt hinzufügen, indem wir die folgenden Informationen in pom.xml (Maven-Build-Typ-Projekt) einfügen.
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>http://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-cloud</artifactId>
<version>22.4</version>
</dependency>
</dependencies>
Falls Sie kein Konto über Aspose Cloud Dashboard haben, erstellen Sie bitte ein kostenloses Konto über eine gültige E-Mail-Adresse. Melden Sie sich nun mit dem neu erstellten Konto an und suchen/erstellen Sie die Client-ID und das Client-Geheimnis unter Cloud Dashboard. Diese Angaben werden zur Authentifizierung in den folgenden Abschnitten benötigt.
Bildgröße in Java ändern
In diesem Abschnitt werden die Schritte zum Ändern der Größe des PNG-Bilds erläutert. Die API erwartet, das Bild vom lokalen Laufwerk zu laden, das wir benötigen, um das Bild direkt im Anforderungstext zu übergeben. Nach dem Ändern der PNG-Größe können wir das aktualisierte Bild im Cloud-Speicher speichern, indem wir den Parameterwert outPath angeben. Wenn wir den Wert jedoch nicht angeben, enthält die Antwort ein gestreamtes Bild.
- Erstellen Sie eine Instanz von ImagingApi basierend auf personalisierten Kundenanmeldeinformationen
- Lesen Sie die PNG-Datei aus dem lokalen Ordner mithilfe des Dateiobjekts
- Erstellen Sie eine byte[]-Instanz und lesen Sie alle Bytes aus der Datei mit der Methode readAllBytes(…).
- Geben Sie neue Bildabmessungen mithilfe von Integer-Objekten an
- Erstellen Sie nun eine Instanz von CreateResizedImageRequest, in der wir den Namen für das resultierende Bild angeben
- Ändern Sie schließlich die Größe des Bildes mit der Methode createResizedImage(…).
// Holen Sie sich ClientID und ClientSecret von https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// Bildobjekt erstellen
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// Datei vom lokalen Laufwerk laden
File f = new File("PinClipart.png");
// Lesen Sie den Inhalt des PNG-Bilds in ein Byte-Array
byte[] bytes = Files.readAllBytes(f.toPath());
// neue Dimensionen für das resultierende Bild
int newWidth = 150;
int newHeight = 150;
// Erstellen Sie eine Anfrage zur Größenänderung des Bildes und geben Sie dabei den Namen des resultierenden Bildes an
CreateResizedImageRequest resizeRequest = new CreateResizedImageRequest(bytes, newWidth, newHeight, null, "Updated.png", null);
// Ändern Sie die Bildgröße online und speichern Sie die Ausgabe im Cloud-Speicher
imageApi.createResizedImage(resizeRequest);
Ändern Sie die GIF-Größe mit cURL-Befehlen
Während der Bildgrößenänderung können wir auch das aktualisierte Format für das Bild angeben. In diesem Abschnitt werden wir die GIF-Größe ändern und die Ausgabe mithilfe von cURL-Befehlen im JPG-Format speichern. Als Voraussetzung müssen wir also zunächst ein JWT-Zugriffstoken (basierend auf den Client-Anmeldeinformationen) generieren, während wir den folgenden Befehl ausführen.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
Sobald das JWT-Token generiert wurde, rufen Sie bitte die ResizeImage-API auf, um die Bildgröße zu ändern und die Ausgabe im JPG-Format auf dem lokalen Laufwerk zu speichern (der resultierende Dateiformatparameter ist optional).
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/winter.gif/resize?newWidth=200&newHeight=200&format=JPG" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o "resultant.jpg"
Das Quell-GIF-Bild kann von winter.gif und das resultierende Bild von resultant.jpg heruntergeladen werden.
Abschluss
Wir haben einen erstaunlichen Ansatz kennengelernt, um die Größe von Bildern online mithilfe eines Java-Code-Snippets zu ändern. Es hat uns auch Einzelheiten darüber aufgeklärt, wie man mit cURL-Befehlen die Bildgröße ohne Qualitätsverlust ändern kann. Bitte beachten Sie, dass Sie die API-Funktionen auch im Webbrowser erkunden können, indem Sie die Swagger API-Referenz verwenden. Abgesehen von den Picture Resizer-Funktionen können Sie jetzt in der Produktdokumentation weitere spannende Funktionen der API erkunden und mehr darüber erfahren. Dennoch werden alle unsere Cloud SDKs unter MIT-Lizenz veröffentlicht. Sie können daher den vollständigen Quellcode von GitHub herunterladen (den Sie entsprechend Ihren Anforderungen ändern können). Wenn Sie bei der Verwendung der API auf Probleme stoßen, können Sie sich über das kostenlose Produkt-Support-Forum an uns wenden, um eine schnelle Lösung zu finden.
In Verbindung stehende Artikel
Bitte besuchen Sie die folgenden Links, um mehr darüber zu erfahren: