Clipping Path – замкнутий векторний контур, який використовується для виділення частини зображення, яка має бути видимою. Після створення відсічного контуру частина зображення за межами відсічного контуру стає прозорою або невидимою. В Adobe Photoshop техніка відсічного контуру найчастіше використовується для видалення фону із зображень і фотографій. У цій статті ви дізнаєтеся, як програмно створити контур відсікання в зображеннях TIFF за допомогою C#. Крім того, ви дізнаєтеся, як експортувати зображення TIFF у формат PSD разом із контуром відсікання.
- .NET API для створення відсічного контуру у TIFF
- Створіть відсічний контур у зображенні TIFF за допомогою C#
- Експорт TIFF із відсічним контуром у PSD за допомогою C#
.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.
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 із відсічним контуром у PSD за допомогою C#
Ви також можете експортувати зображення TIFF із відсіканням у зображення PSD для подальшої обробки у Photoshop. Це можна зробити за допомогою кількох рядків коду.
- Завантажте зображення TIFF за допомогою методу Image.Load(String).
- Експортуйте TIFF у PSD за допомогою методу Image.Save(String, PsdOptions).
У наведеному нижче прикладі коду показано, як експортувати зображення TIFF із відсічним контуром у PSD за допомогою C#.
using (var image = Image.Load(@"d:\Data\SampleWithPaths.tif"))
{
image.Save(@"d:\Data\SampleWithPaths.psd", new PsdOptions());
}
Файл PSD
Висновок
У цій статті ви побачили, як створити відсічний контур у зображенні TIFF програмним шляхом за допомогою C#. Крім того, ви також дізналися, як експортувати зображення TIFF у PSD разом із контуром відсікання за допомогою API Aspose.Imaging for .NET. Ви можете дізнатися більше про API обробки зображень Aspose за допомогою документації.