การเพิ่มคำบรรยายแบบไดนามิก, คำบรรยายย่อย, หรือข้อความส่งเสริมใน GIF แบบเคลื่อนไหวเป็นความต้องการทั่วไปสำหรับเว็บและแอปพลิเคชันมือถือสมัยใหม่. GroupDocs.Watermark Cloud SDK for Java ให้ไลบรารีที่มีพลังบนพื้นฐาน REST ที่ทำให้งานนี้ง่ายขึ้น. ในคู่มือนี้คุณจะได้เรียนรู้วิธี เพิ่มข้อความ Overlay ไปยัง GIF ด้วย REST ใน Java, ดูการนำไปใช้เต็มรูปแบบด้วย Java, สำรวจคำสั่ง cURL ที่เทียบเท่า, และทำความเข้าใจขั้นตอนการตั้งค่าที่จำเป็น.
เพิ่มข้อความโอเวอร์เลย์ลงใน GIF ด้วย REST ใน Java - ตัวอย่างโค้ด
ตัวอย่างนี้แสดงวิธีการกำหนดค่าลายน้ำข้อความและนำไปใช้กับทุกเฟรมของไฟล์ 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();
}
}
}
หมายเหตุ: ตัวอย่างโค้ดนี้แสดงการทำงานหลัก ก่อนนำไปใช้ในโครงการของคุณ ให้ตรวจสอบและอัปเดตเส้นทางไฟล์และค่าการกำหนดค่าต่าง ๆ ให้ตรงกับสภาพแวดล้อมจริงของคุณ ตรวจสอบว่าขึ้นตอนการพึ่งพาที่จำเป็นทั้งหมดได้ถูกติดตั้งอย่างถูกต้อง และทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนา หากพบปัญหาใด ๆ โปรดดูที่ เอกสารอย่างเป็นทางการ หรือ ติดต่อ ทีมสนับสนุน เพื่อขอความช่วยเหลือ.
ใส่ข้อความบน GIF ด้วย REST API โดยใช้ cURL
ด้านล่างเป็นคำสั่ง cURL ที่ทำงานเดียวกันจากเทอร์มินัล พวกมันแสดงกระบวนการทำงานเต็มของ REST: การรับรองความถูกต้อง, การอัปโหลด, การใส่ลายน้ำ, และการดาวน์โหลด.
# 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"}'
แทนที่ YOUR_ACCESS_TOKEN ในการเรียกต่อไปนี้ด้วยโทเค็นที่ได้รับข้างต้น.
# 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
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับเนื้อหาคำขอและรูปแบบการตอบกลับ โปรดดูที่ เอกสาร API อย่างเป็นทางการ.
ทำความเข้าใจการเพิ่มข้อความโอเวอร์เลย์ลงใน GIF ด้วย REST ใน Java - วิธีการทำงาน
- เริ่มต้นไคลเอนต์ API -
new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")สร้างอ็อบเจกต์การกำหนดค่าที่เก็บข้อมูลประจำตัวของคุณ. อินสแตนซ์WatermarkApiใช้การกำหนดค่านี้เพื่อเซ็นชื่อทุกคำขอ.
Configuration config = new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(config);
ระบุไฟล์ต้นทางและไฟล์ปลายทาง -
FileInfoและOutputFileInfoบอกบริการว่าต้องอ่านไฟล์ GIF ต้นฉบับจากที่ใดและเขียนผลลัพธ์ไปที่ใด ทั้งสองสามารถอ้างอิงชื่อที่เก็บข้อมูลแบบกำหนดเองได้.FileInfo inputFile = new FileInfo(); inputFile.setFilePath("input.gif"); inputFile.setStorageName("MyStorage");กำหนดค่าลายน้ำข้อความ -
TextWatermarkOptionsเก็บคุณสมบัติด้านภาพทั้งหมด: ข้อความ, ฟอนต์, ขนาด, สี, ความทึบ, การหมุน, และการจัดแนว. การตั้งค่าpageRangeเป็น"1-"จะทำให้ทุกเฟรมของ GIF ที่เคลื่อนไหวได้รับการวางซ้อน.
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-");
สร้างและส่งคำขอ -
AddWatermarkRequestรวมข้อมูลไฟล์และตัวเลือกเข้าด้วยกัน. การเรียกwatermarkApi.addWatermark(request)จะดำเนินการบนเซิร์ฟเวอร์และส่งคืนเส้นทางของไฟล์ที่ประมวลผลแล้ว.AddWatermarkRequest request = new AddWatermarkRequest(); request.setFileInfo(inputFile); request.setOutputFileInfo(outputFile); request.setOptions(textOptions); AddWatermarkResponse response = watermarkApi.addWatermark(request);Handle the response - การตอบสนองประกอบด้วยเส้นทางไฟล์ผลลัพธ์ ในแอปพลิเคชันจริงคุณมักจะดาวน์โหลดไฟล์หรือส่งเส้นทางไปยังบริการอื่น
สำหรับรายการคลาสและคุณสมบัติทั้งหมด โปรดดูที่ อ้างอิง API.
การติดตั้งและกำหนดค่า GroupDocs.Watermark Cloud SDK for Java
เพิ่มการพึ่งพา Maven ลงใน pom.xml ของคุณ (หรือรายการ Gradle ที่เทียบเท่า) สิ่งนี้จะดึงเวอร์ชัน 23.8 ของ SDK มาใช้
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-watermark-cloud</artifactId>
<version>23.8</version>
</dependency>
ข้อกำหนดเบื้องต้น
- Java 8 หรือสูงกว่า
- บัญชี GroupDocs Cloud ที่ใช้งานอยู่
- Client ID และ Client Secret (พร้อมใช้งานในแดชบอร์ด GroupDocs Cloud)
ตัวอย่างการกำหนดค่า
Configuration config = new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
ดาวน์โหลด JAR ล่าสุดจาก หน้าดาวน์โหลด. สำหรับการใช้งานในสภาพแวดล้อมการผลิต ให้ใช้ใบอนุญาตที่ถูกต้องซึ่งได้รับจาก หน้าใบอนุญาตชั่วคราว.
สรุป
การเพิ่มข้อความ Overlay ลงใน GIF ด้วย REST ใน Java กลายเป็นการดำเนินการที่ทำซ้ำได้และทำงานบนเซิร์ฟเวอร์ด้วยความช่วยเหลือของ GroupDocs.Watermark Cloud SDK for Java. SDK ทำให้ซับซ้อนของการจัดการเฟรมที่เคลื่อนไหวเป็นเรื่องง่ายขึ้น ทำให้คุณสามารถมุ่งเน้นที่เนื้อหาของคำบรรยายหรือข้อความโปรโมชั่นได้ หลังจากรวมโค้ดตัวอย่างหรือกระบวนการ cURL แล้ว คุณสามารถปรับแต่งสไตล์ฟอนต์ สี และความทึบให้ตรงกับแบรนด์ของคุณได้ จำไว้ว่าให้จัดหาลิขสิทธิ์การใช้งานสำหรับการผลิต รายละเอียดราคาอยู่ในหน้าผลิตภัณฑ์ และสามารถรับลิขสิทธิ์ชั่วคราวสำหรับการทดสอบได้ผ่าน หน้าลิขสิทธิ์ชั่วคราว. Happy coding!
FAQs
ฉันจะเพิ่มข้อความ Overlay ไปยัง GIF โดยใช้ REST ใน Java อย่างไรเมื่อข้อความเปลี่ยนแปลงตามผู้ใช้?
สร้างอ็อบเจกต์TextWatermarkOptionsในขณะรันไทม์ด้วยสตริงที่เฉพาะเจาะจงของผู้ใช้, จากนั้นเรียกใช้เมธอดaddWatermarkเดียวกัน. API จะประมวลผลแต่ละคำขอแยกกัน, ดังนั้นเนื้อหาแบบไดนามิกจึงได้รับการสนับสนุนอย่างเต็มที่.ฉันสามารถเพิ่มคำบรรยายให้กับ GIF แบบเคลื่อนไหวโดยไม่กระทบต่อความเร็วของการเคลื่อนไหวได้หรือไม่?
ใช่. วอเตอร์มาร์คจะถูกนำไปใช้กับแต่ละเฟรมโดยคงความหน่วงของเฟรมเดิมไว้. เพียงตั้งค่าpageRangeเป็น"1-"เพื่อให้ทุกเฟรมได้รับการซ้อนทับเดียวกัน.รูปแบบใดบ้างที่รองรับสำหรับสีข้อความโอเวอร์เลย์?
SDK รองรับรหัสสี HEX (เช่น#FF0000) และชื่อสีมาตรฐานของ HTML ดูที่ อ้างอิง API เพื่อดูรายการทั้งหมดฉันต้องการใบอนุญาตสำหรับการพัฒนาและการทดสอบหรือไม่?
ใบอนุญาตชั่วคราวเพียงพอสำหรับการประเมินและการทดสอบ สำหรับการใช้งานในสภาพแวดล้อมการผลิต ให้ซื้อใบอนุญาตเต็มจากหน้าผลิตภัณฑ์และนำไปใช้โดยใช้ API การให้ใบอนุญาตของ SDK.
