วิธีการใช้ 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
});
}

ผลลัพธ์: Aspose.PSD for .NET ผลลัพธ์ Warp ที่ 1

นอกจากการเล่นเอฟเฟกส์ 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
});
}

ผลลัพธ์: Aspose.PSD for .NET ผลลัพธ์ Warp ที่ 2

! โน้ต: ในปัจจุบัน, ห้องสมุดของเราสนับสนุนการเล่นทั้ง 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
});
}

ผลลัพธ์: Aspose.PSD for .NET ผลลัพธ์ Warp ที่ 3

ส่วนที่ 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
});
}

ผลลัพธ์: Aspose.PSD for .NET ผลลัพธ์ Warp ที่ 4

ตัวอย่างโค้ดด้านล่างแสดงวิธีการเพิ่มเอฟเฟกส์ 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
});
}

ผลลัพธ์: Aspose.PSD for .NET ผลลัพธ์ Warp ที่ 5

ตัวอย่างโค้ดด้านล่างแสดงวิธีการเพิ่มเอฟเฟกส์ 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
});
}

ผลลัพธ์: Aspose.PSD for .NET ผลลัพธ์ Warp ที่ 6

เราเรื่อยไปปรับปรุงและขยายความสามารถของเอฟเฟกส์ Warp ของเรา โฟกัสที่การเพิ่มความเร็ว คุณภาพ และฟังก์ชันที่รองรับ อยู่เสมอ อยู่รอคอยกับการอัพเดทรายเดือนของเราเพื่อสิ่งใหม่ล่าสุด
ทีม Aspose.PSD ของคุณ