แอปพลิเคชัน Photoshop ยอดนิยมของ Adobe ใช้ PSD (เอกสาร Photoshop) เป็นรูปแบบไฟล์รูปภาพดั้งเดิม ไฟล์ PSD อาจมีหลายเลเยอร์สำหรับสร้างโลโก้ โบรชัวร์ และรูปภาพอื่นๆ ในบางกรณี เราอาจต้องจัดการไฟล์ PSD โดยทางโปรแกรม ในบทความนี้ เราจะเรียนรู้วิธีเพิ่มเลเยอร์ใหม่ให้กับ PSD ใน Java
หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:
Java PSD API เพื่อเพิ่มเลเยอร์ใหม่
สำหรับการสร้างเลเยอร์ใหม่ในไฟล์ PSD เราจะใช้ API Aspose.PSD for Java รองรับการสร้าง แก้ไข หรือจัดการ PSD และ รูปแบบไฟล์ที่รองรับ อื่นๆ
คลาส PsdImage ของ API ช่วยให้โหลด แก้ไข และบันทึกไฟล์ PSD ได้ นอกจากนี้ยังมีฟังก์ชันในการอัปเดตคุณสมบัติ เพิ่มลายน้ำ ดำเนินการด้านกราฟิก หรือแปลงรูปแบบไฟล์หนึ่งเป็นอีกรูปแบบหนึ่ง
เมธอด PsdImage.AddRegularLayer อนุญาตให้เพิ่มเลเยอร์ปกติใหม่ เมธอด AddTextLayer(string, Rectangle) ของคลาส PsdImage จะเพิ่มเลเยอร์ข้อความใหม่ให้กับ PSD
โปรด ดาวน์โหลด JAR ของ API หรือเพิ่มการกำหนดค่า pom.xml ต่อไปนี้ในแอปพลิเคชัน Java ที่ใช้ Maven
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-psd</artifactId>
<version>21.7</version>
</dependency>
เพิ่มเลเยอร์ใหม่ให้กับ PSD โดยใช้ Java
เราสามารถเพิ่มเลเยอร์ใหม่ลงในไฟล์ PSD โดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก ให้โหลดไฟล์ PSD เป็น PsdImage โดยใช้คลาส Image
- จากนั้น เตรียมวัตถุที่จะเพิ่ม เช่น สี่เหลี่ยมผืนผ้า
- จากนั้นเรียกเมธอด addRegularLayer()
- เลือกกำหนดตำแหน่งเลเยอร์ เช่น บน ซ้าย ขวา และล่าง
- หลังจากนั้น กำหนดวัตถุให้กับเลเยอร์โดยใช้เมธอด saveArgb32Pixels()
- สุดท้ายให้บันทึกไฟล์เอาต์พุตโดยใช้เมธอด save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มเลเยอร์ใหม่ให้กับไฟล์ PSD ใน Java
// ตัวอย่างโค้ดนี้สาธิตวิธีการสร้างเลเยอร์ใหม่ในไฟล์ PSD
String sourceFileName = "C:\\Files\\OneLayer.psd";
String exportPath = "C:\\Files\\AddNewLayer.psd";
// โหลด PSD ที่มีอยู่
PsdImage im = (PsdImage)Image.load(sourceFileName);
// กำลังเตรียมสอง int อาร์เรย์
int[] data1 = new int[2500];
int[] data2 = new int[2500];
// กำหนดรูปสี่เหลี่ยมผืนผ้า
Rectangle rect1 = new Rectangle(0, 0, 50, 50);
Rectangle rect2 = new Rectangle(0, 0, 100, 25);
for (int i = 0; i < 2500; i++)
{
data1[i] = -10000000;
data2[i] = -10000000;
}
// เพิ่มเลเยอร์ 1
Layer layer1 = im.addRegularLayer();
layer1.setLeft(25);
layer1.setTop(25);
layer1.setRight(75);
layer1.setBottom(75);
layer1.saveArgb32Pixels(rect1, data1);
// เพิ่มเลเยอร์ 2
Layer layer2 = im.addRegularLayer();
layer2.setLeft(25);
layer2.setTop(150);
layer2.setRight(125);
layer2.setBottom(175);
layer2.saveArgb32Pixels(rect2, data2);
// บันทึก PSD
im.save(exportPath);
เพิ่มเลเยอร์ข้อความใหม่ให้กับ PSD โดยใช้ Java
เราสามารถเพิ่มเลเยอร์ข้อความใหม่ลงในไฟล์ PSD โดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก ให้โหลดไฟล์ PSD เป็น PsdImage โดยใช้คลาส Image
- ถัดไป กำหนดสี่เหลี่ยมผืนผ้า
- จากนั้นเรียกเมธอด addTexLayer() ใช้การป้อนข้อความและวัตถุสี่เหลี่ยมผืนผ้าเป็นอาร์กิวเมนต์
- หลังจากนั้นกำหนดตำแหน่งของเลเยอร์ เช่น บน ซ้าย ขวา และล่าง
- สุดท้ายให้บันทึกไฟล์เอาต์พุตโดยใช้เมธอด save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มเลเยอร์ข้อความใหม่ให้กับไฟล์ PSD ใน Java
// ตัวอย่างโค้ดนี้สาธิตวิธีการสร้างเลเยอร์ใหม่ในไฟล์รูปภาพ PSD
String sourceFileName = "C:\\Files\\sample.psd";
String exportPath = "C:\\Files\\AddTextLayer.psd";
// โหลด PSD ที่มีอยู่
PsdImage im = (PsdImage)Image.load(sourceFileName);
// เพิ่มเลเยอร์ข้อความ
Rectangle rect = new Rectangle(20, 20, 100, 30);
TextLayer layer = im.addTextLayer("Welcome!", rect);
// กำหนดตำแหน่งเลเยอร์
layer.setLeft(10);
layer.setTop(25);
// บันทึก PSD
im.save(exportPath);
รับใบอนุญาตชั่วคราวฟรี
คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อทดลองใช้ห้องสมุดโดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
ในบทความนี้ เราได้เรียนรู้วิธีการ:
- สร้างภาพ PSD ใหม่
- สร้างเลเยอร์ปกติใหม่
- ใส่เลเยอร์ข้อความใน PSD โดยใช้ Java
นอกจากการเพิ่มเลเยอร์ใหม่ลงใน PSD ใน Java แล้ว คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.PSD for Java โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี