Clipping Path là một đường dẫn vectơ khép kín được sử dụng để chọn một phần của hình ảnh sẽ hiển thị. Sau khi đường cắt được tạo, phần hình ảnh bên ngoài đường cắt sẽ trở nên trong suốt hoặc vô hình. Trong Adobe Photoshop, kỹ thuật cắt đường dẫn thường được sử dụng nhất để xóa nền khỏi hình ảnh và ảnh chụp. Trong bài viết này, bạn sẽ tìm hiểu cách tạo đường cắt trong hình ảnh TIFF bằng cách lập trình bằng C#. Hơn nữa, bạn sẽ biết cách xuất hình ảnh TIFF sang định dạng PSD cùng với đường cắt.

.NET API để tạo Clipping Path trong TIFF

Aspose.Imaging for .NET là API xử lý hình ảnh nổi tiếng cho phép bạn xử lý và làm việc với nhiều định dạng hình ảnh. Ngoài ra, API cho phép bạn tạo đường cắt trong TIFF theo chương trình và chuyển đường cắt từ TIFF sang hình ảnh PSD bằng một vài dòng mã. Bạn có thể cài đặt API trong ứng dụng .NET của mình bằng NuGet hoặc tải xuống DLL của nó từ tại đây.

Tạo Clipping Path trong TIFF Image bằng C#

Để tạo đường cắt trong ảnh TIFF, bạn cần xác định các điểm của đường cắt trong tệp TXT. Bạn có thể tạo các điểm theo cách thủ công hoặc sử dụng công cụ Pen trong Photoshop. Sau đây là tệp TXT mẫu chứa các điểm Bezier của đường cắt sẽ được sử dụng trong các ví dụ bên dưới.

Khi bạn đã tạo các điểm đường dẫn, bạn có thể chèn chúng vào Tài nguyên đường dẫn của hình ảnh TIFF. Dưới đây là hình ảnh TIFF được nhắm mục tiêu đang được sử dụng trong các ví dụ.

Hình ảnh TIFF mẫu

Mẫu mã sau đây cho biết cách tạo đường cắt trong ảnh 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 } };
}

Sau đây là ảnh chụp màn hình của hình ảnh TIFF kết quả cùng với đường cắt trong Photoshop.

TIFF với đường cắt

Xuất TIFF với Clipping Path sang PSD bằng C#

Bạn cũng có thể xuất hình ảnh TIFF có đường dẫn cắt thành hình ảnh PSD để xử lý thêm trong Photoshop. Điều này có thể được thực hiện trong một vài dòng mã.

Mẫu mã sau đây cho biết cách xuất hình ảnh TIFF có đường dẫn cắt sang PSD bằng C#.

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

Tệp PSD

TIFF sang PSD với Clipping Path

Sự kết luận

Trong bài viết này, bạn đã biết cách tạo một đường cắt trong hình ảnh TIFF bằng lập trình bằng C#. Ngoài ra, bạn cũng đã học cách xuất hình ảnh TIFF sang PSD cùng với đường dẫn cắt bằng Aspose.Imaging for .NET API. Bạn có thể khám phá thêm về API xử lý hình ảnh của Aspose bằng cách sử dụng tài liệu.

Xem thêm