Dodawanie dynamicznych napisów, napisów podtytułów lub komunikatów promocyjnych do animowanych GIF‑ów jest powszechną potrzebą współczesnych aplikacji internetowych i mobilnych. GroupDocs.Watermark Cloud SDK for Java zapewnia potężną bibliotekę opartą na REST, która ułatwia to zadanie. W tym przewodniku dowiesz się, jak dodać nakładkę tekstową do GIF przy użyciu REST w Javie, zobaczysz pełną implementację w Javie, poznasz równoważne polecenia cURL i zrozumiesz wymagane kroki konfiguracji.
Dodaj nakładkę tekstową do GIF przy użyciu REST w Javie – Przykładowy kod
Ten przykład demonstruje, jak skonfigurować znak wodny tekstowy i zastosować go do każdej klatki pliku GIF.
import com.groupdocs.watermark.cloud.api.WatermarkApi;
import com.groupdocs.watermark.cloud.client.ApiException;
import com.groupdocs.watermark.cloud.client.Configuration;
import com.groupdocs.watermark.cloud.model.AddWatermarkRequest;
import com.groupdocs.watermark.cloud.model.AddWatermarkResponse;
import com.groupdocs.watermark.cloud.model.FileInfo;
import com.groupdocs.watermark.cloud.model.OutputFileInfo;
import com.groupdocs.watermark.cloud.model.TextWatermarkOptions;
import com.groupdocs.watermark.cloud.model.HorizontalAlignment;
import com.groupdocs.watermark.cloud.model.VerticalAlignment;
public class AddTextOverlayToGif {
public static void main(String[] args) {
// Initialize API configuration (replace with your actual clientId and clientSecret)
Configuration config = new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(config);
// Prepare input file information
FileInfo inputFile = new FileInfo();
inputFile.setFilePath("input.gif"); // Path to the source GIF in the storage
inputFile.setStorageName("MyStorage"); // Optional: name of the storage
// Prepare output file information
OutputFileInfo outputFile = new OutputFileInfo();
outputFile.setFilePath("output.gif"); // Desired path for the watermarked GIF
outputFile.setStorageName("MyStorage"); // Optional: name of the storage
// Configure text watermark options
TextWatermarkOptions textOptions = new TextWatermarkOptions();
textOptions.setText("Sample Watermark");
textOptions.setFontFamily("Arial");
textOptions.setFontSize(24.0);
textOptions.setColor("#FF0000"); // Red color in HEX
textOptions.setOpacity(0.5); // 50% opacity
textOptions.setRotationAngle(0.0);
textOptions.setHorizontalAlignment(HorizontalAlignment.CENTER);
textOptions.setVerticalAlignment(VerticalAlignment.MIDDLE);
textOptions.setPageRange("1-"); // Apply to all frames/pages
// Build the request
AddWatermarkRequest request = new AddWatermarkRequest();
request.setFileInfo(inputFile);
request.setOutputFileInfo(outputFile);
request.setOptions(textOptions);
try {
// Execute the request
AddWatermarkResponse response = watermarkApi.addWatermark(request);
System.out.println("Watermark added successfully. Output file: " + response.getPath());
} catch (ApiException e) {
System.err.println("Error while adding watermark: " + e.getMessage());
e.printStackTrace();
}
}
}
Uwaga: Ten przykład kodu demonstruje podstawową funkcjonalność. Przed użyciem go w swoim projekcie upewnij się, że zaktualizowałeś wszystkie ścieżki do plików i wartości konfiguracyjne, aby odpowiadały rzeczywistemu środowisku, sprawdź, czy wszystkie wymagane zależności są prawidłowo zainstalowane, oraz dokładnie przetestuj w środowisku deweloperskim. Jeśli napotkasz jakiekolwiek problemy, odwołaj się do oficjalnej dokumentacji lub skontaktuj się z zespołem wsparcia w celu uzyskania pomocy.
Nakładanie tekstu na GIF za pomocą REST API przy użyciu cURL
Poniżej znajdują się polecenia cURL, które wykonują tę samą operację z terminala. Ilustrują pełny przepływ pracy REST: uwierzytelnianie, przesyłanie, dodawanie znaku wodnego i pobieranie.
# 1. Obtain an access token
curl -X POST "https://api.groupdocs.cloud/v2.0/auth/token" \
-H "Content-Type: application/json" \
-d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
Zastąp YOUR_ACCESS_TOKEN w poniższych wywołaniach tokenem zwróconym powyżej.
# 2. Upload the source GIF to storage
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input.gif" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary @path/to/local/input.gif
# 3. Add text overlay to the GIF
curl -X POST "https://api.groupdocs.cloud/v2.0/watermark/add" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fileInfo": { "filePath": "input.gif", "storageName": "MyStorage" },
"outputFileInfo": { "filePath": "output.gif", "storageName": "MyStorage" },
"options": {
"text": "Sample Watermark",
"fontFamily": "Arial",
"fontSize": 24,
"color": "#FF0000",
"opacity": 0.5,
"horizontalAlignment": "Center",
"verticalAlignment": "Middle",
"pageRange": "1-"
}
}'
# 4. Download the watermarked GIF
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output.gif" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o path/to/local/output.gif
Aby uzyskać więcej informacji o ciałach żądań i formatach odpowiedzi, zobacz oficjalną dokumentację API.
Analiza dodawania nakładki tekstowej do GIF przy użyciu REST w Javie – jak to działa
- Zainicjuj klienta API -
new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")tworzy obiekt konfiguracji, który przechowuje Twoje poświadczenia. InstancjaWatermarkApiużywa tej konfiguracji do podpisywania każdego żądania.
Configuration config = new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(config);
Określ pliki źródłowe i docelowe -
FileInfoiOutputFileInfoinformują usługę, gdzie odczytać oryginalny plik GIF i gdzie zapisać wynik. Oba mogą odwoływać się do niestandardowej nazwy magazynu.FileInfo inputFile = new FileInfo(); inputFile.setFilePath("input.gif"); inputFile.setStorageName("MyStorage");Skonfiguruj znak wodny tekstowy -
TextWatermarkOptionszawiera wszystkie właściwości wizualne: tekst, czcionkę, rozmiar, kolor, przezroczystość, obrót i wyrównanie. UstawieniepageRangena"1-"zapewnia, że każda klatka animowanego GIF‑a otrzyma nakładkę.
TextWatermarkOptions textOptions = new TextWatermarkOptions();
textOptions.setText("Sample Watermark");
textOptions.setFontFamily("Arial");
textOptions.setFontSize(24.0);
textOptions.setColor("#FF0000");
textOptions.setOpacity(0.5);
textOptions.setHorizontalAlignment(HorizontalAlignment.CENTER);
textOptions.setVerticalAlignment(VerticalAlignment.MIDDLE);
textOptions.setPageRange("1-");
- Zbuduj i wyślij żądanie -
AddWatermarkRequestgrupuje informacje o pliku i opcje. WywołaniewatermarkApi.addWatermark(request)wykonuje operację na serwerze i zwraca ścieżkę przetworzonego pliku.
AddWatermarkRequest request = new AddWatermarkRequest();
request.setFileInfo(inputFile);
request.setOutputFileInfo(outputFile);
request.setOptions(textOptions);
AddWatermarkResponse response = watermarkApi.addWatermark(request);
- Obsłuż odpowiedź - Odpowiedź zawiera ścieżkę do pliku wyjściowego. W rzeczywistej aplikacji zazwyczaj pobrałbyś plik lub przekazał ścieżkę do innej usługi.
Aby uzyskać pełną listę klas i właściwości, odwołaj się do referencji API.
Instalowanie i konfigurowanie GroupDocs.Watermark Cloud SDK for Java
Dodaj zależność Maven do swojego pom.xml (lub odpowiedni wpis Gradle). To pobiera wersję 23.8 SDK.
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-watermark-cloud</artifactId>
<version>23.8</version>
</dependency>
Wymagania wstępne
- Java 8 lub nowsza
- Aktywne konto GroupDocs Cloud
- Client ID i Client Secret (dostępne w panelu GroupDocs Cloud)
Przykład konfiguracji
Configuration config = new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
Pobierz najnowsze pliki JAR ze strony pobierania. Do użytku produkcyjnego zastosuj ważną licencję uzyskaną ze strony tymczasowej licencji.
Podsumowanie
Dodanie nakładki tekstowej do GIF przy użyciu REST w Javie staje się powtarzalną operacją po stronie serwera dzięki GroupDocs.Watermark Cloud SDK for Java. SDK ukrywa złożoność obsługi animowanych klatek, pozwalając skupić się na treści napisów lub komunikatów promocyjnych. Po zintegrowaniu przykładowego kodu lub przepływu pracy cURL możesz precyzyjnie dostosować style czcionek, kolory i przezroczystość, aby pasowały do Twojej marki. Pamiętaj, aby zabezpieczyć licencję produkcyjną – szczegóły cenowe są dostępne na stronie produktu, a tymczasową licencję można uzyskać do testów poprzez stronę tymczasowej licencji. Szczęśliwego kodowania!
FAQs
Jak dodać nakładkę tekstową do GIF‑a przy użyciu REST w Javie, gdy tekst zmienia się w zależności od użytkownika?
Utwórz obiektTextWatermarkOptionsw czasie wykonywania z ciągiem specyficznym dla użytkownika, a następnie wywołaj tę samą metodęaddWatermark. API przetwarza każde żądanie niezależnie, więc dynamiczna zawartość jest w pełni obsługiwana.Czy mogę dodać napisy do animowanego GIF‑a bez wpływu na prędkość animacji?
Tak. Znak wodny jest nakładany na każdą klatkę, zachowując oryginalne opóźnienie klatek. Po prostu ustawpageRangena"1-", aby każda klatka otrzymała ten sam overlay.Jakie formaty są obsługiwane dla koloru tekstu nakładki?
SDK akceptuje kody kolorów HEX (np.#FF0000) oraz standardowe nazwy kolorów HTML. Zobacz odniesienie API po pełną listę.Czy potrzebuję licencji do rozwoju i testowania?
Tymczasowa licencja jest wystarczająca do oceny i testowania. W przypadku wdrożeń produkcyjnych zakup pełną licencję na stronie produktu i zastosuj ją przy użyciu API licencjonowania SDK.
