Animasyonlu GIF’lere dinamik altyazılar, alt yazılar veya tanıtım mesajları eklemek, modern web ve mobil uygulamalar için yaygın bir ihtiyaçtır. GroupDocs.Watermark Cloud SDK for Java bu görevi basitleştiren güçlü bir REST‑tabanlı kütüphane sağlar. Bu rehberde Java’da REST kullanarak GIF üzerine metin katmanı eklemeyi öğrenecek, tam bir Java uygulamasını görecek, eşdeğer cURL komutlarını inceleyecek ve gerekli kurulum adımlarını anlayacaksınız.

REST Kullanarak Java’da GIF’e Metin Bindirme - Örnek Kod

Bu örnek, bir metin filigranını nasıl yapılandıracağınızı ve bir GIF dosyasının her karesine nasıl uygulayacağınızı gösterir.

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();
        }
    }
}

Not: Bu kod örneği temel işlevselliği göstermektedir. Projenizde kullanmadan önce, dosya yollarını ve yapılandırma değerlerini gerçek ortamınıza uygun şekilde güncellediğinizden, tüm gerekli bağımlılıkların doğru şekilde yüklendiğinden emin olun ve geliştirme ortamınızda kapsamlı bir şekilde test edin. Herhangi bir sorunla karşılaşırsanız, lütfen resmi belgeler adresine bakın veya destek ekibi ile iletişime geçin.

cURL Kullanarak REST API ile GIF Üzerine Metin Yerleştirme

Aşağıda, bir terminalden aynı işlemi gerçekleştiren cURL komutları bulunmaktadır. Bu komutlar tam REST iş akışını gösterir: kimlik doğrulama, yükleme, filigran ekleme ve indirme.

# 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"}'

Aşağıdaki çağrılarda YOUR_ACCESS_TOKEN ifadesini yukarıda döndürülen token ile değiştirin.

# 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

İstek gövdeleri ve yanıt formatları hakkında daha fazla ayrıntı için, resmi API belgelerine bakın.

REST Kullanarak Java’da GIF’e Metin Katmanı Ekleme - Nasıl Çalışır

  1. API istemcisini başlatın - new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET") kimlik bilgilerinizi tutan bir yapılandırma nesnesi oluşturur. WatermarkApi örneği bu yapılandırmayı her isteği imzalamak için kullanır.
Configuration config = new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(config);
  1. Kaynak ve hedef dosyaları belirtin - FileInfo ve OutputFileInfo hizmete orijinal GIF’i nereden okuyacağını ve sonucu nereye yazacağını söyler. Her ikisi de özel bir depolama adı referans alabilir.

    FileInfo inputFile = new FileInfo();
    inputFile.setFilePath("input.gif");
    inputFile.setStorageName("MyStorage");
    
  2. Metin filigranını yapılandırın - TextWatermarkOptions tüm görsel özellikleri tutar: metin, yazı tipi, boyut, renk, saydamlık, döndürme ve hizalama. pageRange değerini "1-" olarak ayarlamak, animasyonlu GIF’in her karesinin üst katmanı almasını sağlar.

    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-");
    
  3. İsteği oluşturun ve gönderin - AddWatermarkRequest dosya bilgilerini ve seçenekleri bir araya getirir. watermarkApi.addWatermark(request) çağrısı, işlemi sunucuda gerçekleştirir ve işlenmiş dosyanın yolunu döndürür.

    AddWatermarkRequest request = new AddWatermarkRequest();
    request.setFileInfo(inputFile);
    request.setOutputFileInfo(outputFile);
    request.setOptions(textOptions);
    AddWatermarkResponse response = watermarkApi.addWatermark(request);
    
  4. Yanıtı İşleyin - Yanıt, çıktı dosyasının yolunu içerir. Gerçek bir uygulamada genellikle dosyayı indirir veya yolu başka bir hizmete geçirirsiniz.

Sınıfların ve özelliklerin tam listesi için, API referansına bakın.

Kurulum ve Yapılandırma GroupDocs.Watermark Cloud SDK for Java

Maven bağımlılığını pom.xml dosyanıza ekleyin (veya eşdeğer Gradle girdisini). Bu, SDK’nın 23.8 sürümünü getirir.

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-watermark-cloud</artifactId>
    <version>23.8</version>
</dependency>

Önkoşullar

  • Java 8 ve üzeri
  • Aktif bir GroupDocs Cloud hesabı
  • Client ID ve Client Secret (GroupDocs Cloud kontrol panelinde mevcut)

Yapılandırma Örneği

Configuration config = new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");

En son JAR’ları indirme sayfası üzerinden indirin. Üretim kullanımı için, geçerli bir lisansı geçici lisans sayfası üzerinden alın.

Sonuç

REST kullanarak Java’da GIF’e metin bindirme eklemek, GroupDocs.Watermark Cloud SDK for Java sayesinde tekrarlanabilir bir sunucu‑tarafı işleme dönüşür. SDK, animasyonlu karelerin işlenmesindeki karmaşıklıkları soyutlayarak altyazılarınızın veya tanıtım mesajlarınızın içeriğine odaklanmanızı sağlar. Örnek kodu veya cURL iş akışını entegre ettikten sonra, marka kimliğinize uygun olacak şekilde yazı tiplerini, renkleri ve opaklığı ince ayar yapabilirsiniz. Ürün sayfasında üretim lisansı fiyatlandırma detayları mevcuttur ve test amaçlı geçici bir lisans geçici lisans sayfası üzerinden alınabilir. İyi kodlamalar!

SSS

  • Kullanıcıya göre değişen metinle Java’da REST kullanarak GIF’e metin Katmanı nasıl eklenir?
    Kullanıcıya özgü dizeyi runtime’da TextWatermarkOptions nesnesiyle oluşturun, ardından aynı addWatermark çağrısını yapın. API her isteği bağımsız olarak işler, bu yüzden dinamik içerik tam olarak desteklenir.

  • Animasyon hızını etkilemeden bir animasyonlu GIF’e altyazı ekleyebilir miyim?
    Evet. Filigran, orijinal kare gecikmesini korurken her kareye uygulanır. Sadece pageRange değerini "1-" olarak ayarlayın, böylece her kare aynı kaplamayı alır.

  • Overlay metin rengi için hangi formatlar destekleniyor?
    SDK, HEX renk kodlarını (ör. #FF0000) ve standart HTML renk adlarını kabul eder. Tam liste için API referansına bakın.

  • Geliştirme ve test için bir lisansa ihtiyacım var mı?
    Değerlendirme ve test için geçici bir lisans yeterlidir. Üretim dağıtımları için, ürün sayfasından tam bir lisans satın alın ve SDK’nın lisanslama API’si ile uygulayın.

Daha Fazla