Dodaj znak wodny do obrazów za pomocą Java

Znak wodny to nałożony obraz, logo, wzór lub tekst umieszczony na fotografii lub obrazie. Może służyć do identyfikacji twórcy obrazu. Możesz programowo dodać znak wodny do dowolnego obrazu w chmurze. W tym artykule skupimy się na dodawaniu znaku wodnego do obrazów przy użyciu interfejsu API REST w Javie.

W tym artykule zostaną omówione następujące tematy:

Interfejs API REST znaku wodnego i pakiet Java SDK

Do nanoszenia znaku wodnego na obraz będę używał Java SDK of GroupDocs.Watermark Cloud API. Pozwala programowo dodawać, usuwać, wyszukiwać i zastępować znaki wodne z obrazów i dokumentów obsługiwanych formatów, takich jak PDF, Microsoft Word i Powerpoint. Obecnie zapewnia również pakiet .NET SDK dla Cloud API.

Możesz łatwo używać GroupDocs.Watermark Cloud w swoich aplikacjach Java opartych na Maven, dodając następującą konfigurację pom.xml.

<repository>
    <id>groupdocs-artifact-repository</id>
    <name>GroupDocs Artifact Repository</name>
    <url>https://repository.groupdocs.cloud/repo</url>
</repository>
<dependency>
	<groupId>com.groupdocs</groupId>
	<artifactId>groupdocs-watermark-cloud</artifactId>
	<version>19.12</version>
	<packaging>jar</packaging>
</dependency>

Zanim zaczniesz postępować zgodnie z instrukcjami i dostępnymi przykładami kodu, uzyskaj swój identyfikator klienta i klucz tajny klienta z panelu nawigacyjnego. Dodaj swój identyfikator i klucz tajny w kodzie, jak pokazano poniżej:

String clientId = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5";
String clientSecret = "479db2b01dcb93a3d4d20efb16dea971";
String myStorage = "";

Configuration configuration = new Configuration(clientId, clientSecret);

Dodaj tekstowy znak wodny do obrazów za pomocą interfejsu API REST

Możesz dodać tekstowy znak wodny do zdjęć lub plików graficznych, wykonując proste czynności wymienione poniżej:

Prześlij obraz JPG

Najpierw prześlij plik obrazu JPG do chmury, korzystając z przykładowego kodu podanego poniżej:

// inicjalizacja API
FileApi apiInstance = new FileApi(clientId, clientSecret);
File fileStream = new File("C:\\Files\\sample.jpg");

// utwórz żądanie przesłania pliku
UploadFileRequest request = new UploadFileRequest("sample.jpg", fileStream, myStorage);
FilesUploadResult response = apiInstance.uploadFile(request);

W rezultacie plik JPG zostanie przesłany do Cloud Storage i będzie dostępny w sekcji plików Twojego pulpitu nawigacyjnego.

Dodaj tekstowy znak wodny do obrazu JPG przy użyciu języka Java

Możesz programowo dodać tekstowy znak wodny do obrazu JPEG, wykonując czynności podane poniżej.

  • Utwórz instancję WatermarkApi
  • Ustaw ścieżkę pliku obrazu JPEG w modelu FileInfo
  • Zdefiniuj WatermarkOptions i ustaw FileInfo
  • Zdefiniuj TextWatermarkOptions
  • Ustaw tekst, rodzinę czcionek, rozmiar czcionki i wyrównanie tekstu
  • Ustaw tekst znaku wodnego Kolor pierwszego planu
  • Zdefiniuj pozycję znaku wodnego
  • Zdefiniuj WatermarkDetails i ustaw TextWatermarkOptions i Position
  • Ustaw WatermarkDetails na List
  • Utwórz AddRequest za pomocą WatermarkOptions
  • Uzyskaj wyniki, wywołując metodę WatermarkApi.add().

Poniższy przykładowy kod pokazuje, jak dodać tekst jako znak wodny do obrazu przy użyciu interfejsu API REST.

// inicjalizacja API
WatermarkApi apiInstance = new WatermarkApi(configuration);

// ustaw ścieżkę pliku JPG
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.jpg");
fileInfo.setStorageName(myStorage);

// zdefiniuj opcje znaku wodnego
WatermarkOptions options = new WatermarkOptions();
options.setFileInfo(fileInfo);

// zdefiniuj Opcje tekstowego znaku wodnego
TextWatermarkOptions textWatermarkOptions = new TextWatermarkOptions();
textWatermarkOptions.setText("Copyright© 2021");
textWatermarkOptions.setFontFamilyName("Arial");
textWatermarkOptions.setFontSize(12d);
textWatermarkOptions.setTextAlignment("Center");

// ustaw kolor tekstu znaku wodnego
Color color = new Color();
color.setName("White");
textWatermarkOptions.setForegroundColor(color);

// zdefiniuj szczegóły znaku wodnego
WatermarkDetails watermarkDetails = new WatermarkDetails();
watermarkDetails.setTextWatermarkOptions(textWatermarkOptions);

// ustaw pozycję znaku wodnego
Position position = new Position();
position.setX(180.0);
position.setY(450.0);
watermarkDetails.setPosition(position);

// ustaw szczegóły znaku wodnego
List<WatermarkDetails> watermarkDetailsList = new ArrayList<WatermarkDetails>();
watermarkDetailsList.add(watermarkDetails);
options.setWatermarkDetails(watermarkDetailsList);

// utwórz żądanie dodania znaku wodnego
AddRequest request = new AddRequest(options);
WatermarkResult response = apiInstance.add(request);

System.out.println("Resultant file path: " + response.getPath());
Dodaj tekstowy znak wodny do obrazu

Dodaj tekstowy znak wodny do obrazu

Pobierz zaktualizowany obraz

Powyższe przykłady kodu spowodują zapisanie pliku obrazu ze znakiem wodnym w chmurze. Możesz go pobrać, korzystając z następującego przykładowego kodu:

// inicjalizacja API
FileApi apiInstance = new FileApi(clientId, clientSecret);

// utwórz żądanie pobrania pliku
DownloadFileRequest request = new DownloadFileRequest("watermark/added_watermark/sample_jpg/sample.jpg", "", null);
File response = apiInstance.downloadFile(request);

Dodaj znak wodny obrazu do obrazów za pomocą interfejsu API REST

Możesz programowo dodać obraz lub znak wodny logo do obrazu JPEG, wykonując czynności podane poniżej.

  • Utwórz instancję WatermarkApi
  • Ustaw ścieżkę pliku obrazu JPEG w modelu FileInfo
  • Zdefiniuj WatermarkOptions i ustaw FileInfo
  • Zdefiniuj ImageWatermarkOptions
  • Ustaw FilePath obrazu PNG na znak wodny
  • Zdefiniuj pozycję znaku wodnego
  • Zdefiniuj WatermarkDetails i ustaw ImageWatermarkOptions oraz Position
  • Ustaw WatermarkDetails na List
  • Utwórz AddRequest za pomocą WatermarkOptions
  • Uzyskaj wyniki, wywołując metodę WatermarkApi.add().

Poniższy przykładowy kod pokazuje, jak dodać obraz jako znak wodny do obrazu JPEG przy użyciu interfejsu API REST. Wykonaj czynności wymienione wcześniej, aby przesłać i pobrać pliki.

// inicjalizacja API
WatermarkApi apiInstance = new WatermarkApi(configuration);

// ustaw ścieżkę pliku JPG
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.jpg");
fileInfo.setStorageName(myStorage);

// zdefiniuj opcje znaku wodnego
WatermarkOptions options = new WatermarkOptions();
options.setFileInfo(fileInfo);

// zdefiniuj szczegóły znaku wodnego
WatermarkDetails watermarkDetails = new WatermarkDetails();

// zdefiniuj opcje obrazu znaku wodnego
ImageWatermarkOptions imageWatermarkOptions = new ImageWatermarkOptions();
FileInfo image = new FileInfo();
image.setFilePath("sample_watermark.png");
image.setStorageName(myStorage);
imageWatermarkOptions.setImage(image);

// ustaw pozycję znaku wodnego
Position position = new Position();
position.setX(100.0);
position.setY(450.0);
watermarkDetails.setPosition(position);

// ustaw Opcje znaku wodnego obrazu
watermarkDetails.setImageWatermarkOptions(imageWatermarkOptions);

List<WatermarkDetails> watermarkDetailsList = new ArrayList<WatermarkDetails>();
watermarkDetailsList.add(watermarkDetails);
options.setWatermarkDetails(watermarkDetailsList);

// utwórz żądanie dodania
AddRequest request = new AddRequest(options);
WatermarkResult response = apiInstance.add(request);

System.out.println("Resultant file path: " + response.getPath());
Dodaj znak wodny obrazu do obrazu

Dodaj znak wodny obrazu do obrazu

Wypróbuj online

Wypróbuj następujące bezpłatne narzędzie do znaku wodnego online, które zostało opracowane przy użyciu powyższego interfejsu API. https://products.groupdocs.app/watermark/jpeg

Wniosek

Podsumowując, nauczyłeś się dodawać tekst lub znak wodny do obrazu JPEG w chmurze. Nauczyłeś się również, jak programowo przesyłać pliki obrazów do chmury, a następnie pobierać je z chmury. Możesz dowiedzieć się więcej o GroupDocs.Watermark Cloud API z dokumentacji. Udostępniamy również sekcję Informacje o interfejsach API, która umożliwia wizualizację naszych interfejsów API i interakcję z nimi bezpośrednio w przeglądarce. W przypadku jakichkolwiek niejasności skontaktuj się z support.

Zobacz też