Clipping Path je uzavřená vektorová cesta používaná k výběru části obrázku, která má být viditelná. Po vytvoření ořezové cesty se část obrazu mimo ořezovou cestu stane průhlednou nebo neviditelnou. V Adobe Photoshopu se k odstranění pozadí z obrázků a fotografií nejčastěji používá technika ořezové cesty. V tomto článku se dozvíte, jak vytvořit ořezovou cestu v obrázcích TIFF programově pomocí C#. Dále se dozvíte, jak exportovat obrázky TIFF do formátu PSD spolu s ořezovou cestou.

.NET API pro vytváření ořezové cesty ve formátu TIFF

Aspose.Imaging for .NET je známé rozhraní API pro zpracování obrázků, které umožňuje zpracovávat a pracovat s širokou škálou formátů obrázků. Kromě toho vám API umožňuje vytvořit ořezové cesty v TIFF programově a přenést ořezovou cestu z TIFF do obrázku PSD pomocí několika řádků kódu. API můžete nainstalovat do vaší .NET aplikace pomocí NuGet nebo si stáhnout jeho DLL z zde.

Vytvořte ořezovou cestu v obrázku TIFF pomocí C#

Chcete-li vytvořit ořezovou cestu v obrázku TIFF, budete muset definovat body cesty v souboru TXT. Body můžete vytvořit buď ručně, nebo pomocí nástroje Pero ve Photoshopu. Následuje ukázkový soubor TXT obsahující Bézierovy body ořezové cesty, který bude použit v příkladech níže.

Jakmile vytvoříte body cesty, můžete je vložit do zdrojů cesty obrázku TIFF. Níže je cílový obrázek TIFF, který je použit v příkladech.

Ukázkový obrázek TIFF

Následující ukázka kódu ukazuje, jak vytvořit ořezovou cestu v obrázku 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 } };
}

Následuje snímek obrazovky výsledného obrázku TIFF spolu s ořezovou cestou ve Photoshopu.

TIFF s ořezovou cestou

Export TIFF s ořezovou cestou do PSD pomocí C#

Můžete také exportovat obrázek TIFF s ořezovou cestou do obrázku PSD pro další zpracování ve Photoshopu. To lze provést v několika řádcích kódu.

Následující ukázka kódu ukazuje, jak exportovat obrázek TIFF s ořezovou cestou do PSD pomocí C#.

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

Soubor PSD

TIFF na PSD s ořezovou cestou

Závěr

V tomto článku jste viděli, jak vytvořit ořezovou cestu v obrázku TIFF programově pomocí C#. Dále jste se také naučili, jak exportovat obrázek TIFF do PSD spolu s ořezovou cestou pomocí Aspose.Imaging for .NET API. Další informace o rozhraní API pro zpracování obrázků Aspose můžete prozkoumat pomocí dokumentace.

Viz také