วิธีการใช้ Warp ใน Aspose.PSD
ส่วนที่ 1 – การเล่นไฟล์ PSD ด้วยเอฟเฟกส์ Warp
Photoshop บันทึกรูปภาพหลังจากการใส่เอฟเฟกส์ Warp ลงไป ห้องสมุดของเราสามารถทำซ้ำหรือเล่นภาพอีกครั้งด้วยเอฟเฟกส์ Warp โดยเราสามารถเปิดใช้ฟีเจอร์นี้โดยการตั้งค่า AllowWarpRepaint flag เมื่อเปิดไฟล์ PSD
string sourceFile = "warp_flag.psd"; | |
string outputFile = "total.png"; | |
using (var psdImage = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions() { AllowWarpRepaint = true, LoadEffectsResource = true })) | |
{ | |
psdImage.Save(outputFile, new PngOptions | |
{ | |
ColorType = PngColorType.TruecolorWithAlpha | |
}); | |
} |
ผลลัพธ์:
นอกจากการเล่นเอฟเฟกส์ Warp สำหรับ SmartLayers ที่เรามีอยู่ ห้องสมุดของเรายังสนับสนุนเอฟเฟกส์ Warp สำหรับ TextLayers การซึ่งรหัสการสร้างยังคงเหมือนเดิม โดยความแตกต่างเพียงอยู่ในชื่อไฟล์
string sourceFile = "warp_text_wave.psd"; | |
string outputFile = "total.png"; | |
using (var psdImage = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions() { AllowWarpRepaint = true, LoadEffectsResource = true })) | |
{ | |
psdImage.Save(outputFile, new PngOptions | |
{ | |
ColorType = PngColorType.TruecolorWithAlpha | |
}); | |
} |
ผลลัพธ์:
! โน้ต: ในปัจจุบัน, ห้องสมุดของเราสนับสนุนการเล่นทั้ง Custom Warp (ที่ผู้ใช้ควบคุมจุดตะกร้า) และทุกประเภทของ Warp มาตรฐาน
ส่วนที่ 2 – การปรับเปลี่ยนเอฟเฟกส์ Warp
ห้องสมุดของเราช่วยให้คุณไม่เพียงแค่ทำซ้ำแต่ยังสามารถปรับเปลี่ยน (เพิ่ม) เอฟเฟกส์ Warp ได้อีกด้วย
การปรับเปลี่ยนนี้สะดวกผ่านคุณสมบัติของคลาส WarpParams
คุณสมบัติ | รายละเอียด |
---|---|
Bounds | คืนค่าของขอบของภาพที่ถูกเล่น |
MeshPoints | อาร์เรย์ของจุด โดยทุกจุดแทนจุดสมองของตะกร้าเอฟเฟค |
Value | ค่าของเอฟเฟค Warp สำหรับเอฟเฟคที่ไม่ใช่ Custom |
WarpRotates | การแบ่งกลุ่มที่กำหนดทิศทางของเอฟเฟคที่ไม่ใช่ Custom |
WarpStyles | การแบ่งกลุ่มที่กำหนดประเภทของเอฟเฟค Warp |
ตัวอย่างโค้ดด้านล่างแสดงวิธีการกำหนดประเภทของเอฟเฟค Warp สำหรับ Smart Layer และปรับประเภทและความเดือดเด็ดของการบิดเอฟเฟค
string sourceFile = "warp_flag.psd"; | |
string outputFile = "total.png"; | |
using (var psdImage = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions() { AllowWarpRepaint = true, LoadEffectsResource = true })) | |
{ | |
var smartLayer = (SmartObjectLayer)psdImage.Layers[0]; | |
WarpParams warpParams = smartLayer.WarpParams;]; | |
WarpParams warpParams = smartLayer.WarpParams; | |
if (warpParams.Style == WarpStyles.Flag) | |
{ | |
warpParams.Style = WarpStyles.Wave; | |
warpParams.Value = 20; | |
} | |
psdImage.Save(outputFile, new PngOptions | |
{ | |
ColorType = PngColorType.TruecolorWithAlpha | |
}); | |
} |
ผลลัพธ์:
ส่วนที่ 3 – การเพิ่มเอฟเฟกส์ Warp
ตัวอย่างโค้ดด้านล่างแสดงวิธีการเพิ่มเอฟเฟกส์ Warp มาตรฐานไปยัง Smart Layer
string sourceFile = "smart_object.psd"; | |
string outputFile = "total.png"; | |
using (var psdImage = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions() { AllowWarpRepaint = true, LoadEffectsResource = true })) | |
{ | |
// The smart object without Warp effect | |
var smartLayer = (SmartObjectLayer)psdImage.Layers[0]; | |
// It gets structure for warp effect | |
WarpParams warpParams = smartLayer.WarpParams; | |
// It sets parameters for warp effect | |
warpParams.Style = WarpStyles.Arc; | |
warpParams.Value = 10; | |
psdImage.Save(outputFile, new PngOptions | |
{ | |
ColorType = PngColorType.TruecolorWithAlpha | |
}); | |
} |
ผลลัพธ์:
ตัวอย่างโค้ดด้านล่างแสดงวิธีการเพิ่มเอฟเฟกส์ Warp ที่กำหนดเองไปยัง Smart Layer
string sourceFile = "smart_object.psd"; | |
string outputFile = "total.png"; | |
using (var psdImage = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions() { AllowWarpRepaint = true, LoadEffectsResource = true })) | |
{ | |
// The smart object without Warp effect | |
var smartLayer = (SmartObjectLayer)psdImage.Layers[0]; | |
// It gets structure for warp effect | |
WarpParams warpParams = smartLayer.WarpParams; | |
// It sets parameters for warp effect | |
warpParams.Style = WarpStyles.Custom; | |
warpParams.MeshPoints[2].Y += 70; | |
psdImage.Save(outputFile, new PngOptions | |
{ | |
ColorType = PngColorType.TruecolorWithAlpha | |
}); | |
} |
ผลลัพธ์:
ตัวอย่างโค้ดด้านล่างแสดงวิธีการเพิ่มเอฟเฟกส์ Warp ไปยัง Text Layer ! โน้ต: ตามมาตรฐานของ Photoshop, เอฟเฟกส์ Warp สำหรับ Text Layers มักจะถูกจำกัดไปยังประเภทมาตรฐาน เรายังสนับสนุนการใช้สองประเภทของเอฟเฟกส์ Warp โปรดทราบว่าไฟล์เหล่านี้อาจจะไม่สมบูรณ์แบบกับ Photoshop
string sourceFile = "smart_object.psd"; | |
string outputFile = "total.png"; | |
using (var psdImage = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions() { AllowWarpRepaint = true, LoadEffectsResource = true })) | |
{ | |
// The smart object without Warp effect | |
var smartLayer = (SmartObjectLayer)psdImage.Layers[0]; | |
// It gets structure for warp effect | |
WarpParams warpParams = smartLayer.WarpParams; | |
// It sets parameters for warp effect | |
warpParams.Style = WarpStyles.Custom; | |
warpParams.MeshPoints[2].Y += 70; | |
psdImage.Save(outputFile, new PngOptions | |
{ | |
ColorType = PngColorType.TruecolorWithAlpha | |
}); | |
} |
ผลลัพธ์:
เราเรื่อยไปปรับปรุงและขยายความสามารถของเอฟเฟกส์ Warp ของเรา โฟกัสที่การเพิ่มความเร็ว คุณภาพ และฟังก์ชันที่รองรับ อยู่เสมอ อยู่รอคอยกับการอัพเดทรายเดือนของเราเพื่อสิ่งใหม่ล่าสุด
ทีม Aspose.PSD ของคุณ