Clipping Path เป็นพาธเวกเตอร์แบบปิดที่ใช้เพื่อเลือกส่วนของภาพที่ควรจะมองเห็นได้ เมื่อเส้นทางการตัดถูกสร้างขึ้น ส่วนของรูปภาพที่อยู่นอกเส้นทางการตัดจะโปร่งใสหรือมองไม่เห็น ใน Adobe Photoshop เทคนิคเส้นทางการตัดมักใช้เพื่อลบพื้นหลังออกจากภาพและรูปถ่าย ในบทความนี้ คุณจะได้เรียนรู้วิธีสร้างเส้นทางการตัดในรูปภาพ TIFF โดยทางโปรแกรมโดยใช้ C# นอกจากนี้ คุณจะได้รู้วิธีส่งออกรูปภาพ TIFF เป็นรูปแบบ PSD พร้อมกับเส้นทางการตัด

.NET API สำหรับสร้างเส้นทางการตัดใน TIFF

Aspose.Imaging for .NET เป็น API การประมวลผลภาพที่รู้จักกันดี ซึ่งช่วยให้คุณสามารถประมวลผลและทำงานกับรูปแบบภาพที่หลากหลาย นอกจากนี้ API ยังให้คุณสร้างเส้นทางการตัดใน TIFF โดยทางโปรแกรมและถ่ายโอนเส้นทางการตัดจาก TIFF ไปยังรูปภาพ PSD ด้วยโค้ดไม่กี่บรรทัด คุณสามารถติดตั้ง API ภายในแอปพลิเคชัน .NET โดยใช้ NuGet หรือดาวน์โหลด DLL จาก ที่นี่

สร้างเส้นทางการตัดในภาพ TIFF โดยใช้ C

สำหรับการสร้างเส้นทางการตัดในภาพ TIFF คุณจะต้องกำหนดจุดของเส้นทางในไฟล์ TXT คุณสามารถสร้างจุดด้วยตนเองหรือใช้เครื่องมือปากกาใน Photoshop ต่อไปนี้คือไฟล์ TXT ตัวอย่างที่มีจุด Bezier ของเส้นทางการตัดซึ่งจะใช้ในตัวอย่างด้านล่าง

เมื่อคุณสร้างจุดพาธแล้ว คุณสามารถแทรกลงในพาธรีซอร์สของอิมเมจ TIFF ด้านล่างนี้คือรูปภาพ TIFF เป้าหมายที่ใช้ในตัวอย่าง

ตัวอย่างภาพ TIFF

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างเส้นทางการตัดในรูป Tiff

static void Main()
{
    using (var image = (TiffImage)Image.Load(@"d:\Data\SampleNoPaths.tif"))
    {
        image.ActiveFrame.PathResources = new List<PathResource> { new PathResource
        {
            BlockId = 2000, // Block Id according to Photoshop specification
            Name = "My Path", // Path name
            Records = CreateRecords(LoadPathPoints(@"d:\Data\PathPoints.txt")) // Create path records using coordinates
        }};

        image.Save(@"d:\SampleWithPaths.tif");
    }
}

private static float[] LoadPathPoints(string filePath)
{
    return File.ReadAllText(filePath)
           .Split(new[] { " ", "\r\n" }, StringSplitOptions.RemoveEmptyEntries)
           .Select(float.Parse)
           .ToArray();
}

private static List<VectorPathRecord> CreateRecords(params float[] coordinates)
{
    var records = CreateBezierRecords(coordinates); // Create Bezier records using coordinates

    records.Insert(0, new LengthRecord // LengthRecord required by Photoshop specification
    {
        IsOpen = false, // Lets create closed path
        RecordCount = (ushort)records.Count // Record count in the path
    });

    return records;
}

private static List<VectorPathRecord> CreateBezierRecords(float[] coordinates)
{
    return CoordinatesToPoints(coordinates)
           .Select(CreateBezierRecord)
           .ToList();
}

private static IEnumerable<PointF> CoordinatesToPoints(float[] coordinates)
{
   for (var index = 0; index < coordinates.Length; index += 2)
         yield return new PointF(coordinates[index], coordinates[index + 1]);
}

private static VectorPathRecord CreateBezierRecord(PointF point)
{
    return new BezierKnotRecord { PathPoints = new[] { point, point, point } };
}

ต่อไปนี้เป็นภาพหน้าจอของภาพ TIFF ที่เป็นผลลัพธ์พร้อมกับเส้นทางการตัดใน Photoshop

TIFF พร้อมเส้นทางการตัด

ส่งออก TIFF ด้วย Clipping Path เป็น PSD โดยใช้ C#

คุณยังสามารถส่งออกรูปภาพ TIFF ที่มีเส้นทางการตัดไปยังรูปภาพ PSD สำหรับการประมวลผลเพิ่มเติมใน Photoshop สามารถทำได้ในโค้ดสองสามบรรทัด

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีส่งออกรูปภาพ TIFF ที่มีเส้นทางการตัดเป็น PSD โดยใช้ C#

using (var image = Image.Load(@"d:\Data\SampleWithPaths.tif"))
{
    image.Save(@"d:\Data\SampleWithPaths.psd", new PsdOptions());
}

ไฟล์ PSD

TIFF เป็น PSD พร้อมเส้นทางการตัด

บทสรุป

ในบทความนี้ คุณได้เห็นวิธีสร้างเส้นทางการตัดในภาพ TIFF โดยทางโปรแกรมโดยใช้ C# นอกจากนี้ คุณยังได้เรียนรู้วิธีส่งออกรูปภาพ TIFF เป็น PSD พร้อมกับเส้นทางการตัดโดยใช้ Aspose.Imaging for .NET API คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ API การประมวลผลรูปภาพของ Aspose โดยใช้ เอกสารประกอบ

ดูสิ่งนี้ด้วย