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, що містить точки Безьє контуру відсікання, який буде використано в наведених нижче прикладах.

Створивши точки шляху, ви можете вставити їх у Ресурси шляху зображення 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 із відсічним контуром у 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 разом із контуром відсікання за допомогою API Aspose.Imaging for .NET. Ви можете дізнатися більше про API обробки зображень Aspose за допомогою документації.

Дивись також