Clipping Path est un chemin vectoriel fermé utilisé pour sélectionner une partie de l’image qui doit être visible. Une fois le chemin de détourage créé, la partie de l’image en dehors du chemin de détourage devient transparente ou invisible. Dans Adobe Photoshop, la technique du chemin de détourage est le plus souvent utilisée pour supprimer l’arrière-plan des images et des photographies. Dans cet article, vous apprendrez à créer un chemin de détourage dans des images TIFF par programmation à l’aide de C#. De plus, vous saurez comment exporter des images TIFF au format PSD avec le chemin de détourage.

API .NET pour la création d’un chemin de détourage au format TIFF

Aspose.Imaging for .NET est une API de traitement d’image bien connue qui vous permet de traiter et de travailler avec une large gamme de formats d’image. De plus, l’API vous permet de créer les chemins de détourage au format TIFF par programmation et de transférer le chemin de détourage du TIFF vers l’image PSD avec quelques lignes de code. Vous pouvez installer l’API dans votre application .NET à l’aide de NuGet ou télécharger sa DLL depuis ici.

Créer un chemin de détourage dans une image TIFF à l’aide de C#

Pour créer le chemin de détourage dans une image TIFF, vous devez définir les points du chemin dans un fichier TXT. Vous pouvez soit créer les points manuellement, soit utiliser l’outil Plume de Photoshop. Voici un exemple de fichier TXT contenant les points de Bézier d’un chemin de détourage qui sera utilisé dans les exemples ci-dessous.

Une fois que vous avez créé les points de chemin, vous pouvez les insérer dans les ressources de chemin de l’image TIFF. Ci-dessous se trouve l’image TIFF ciblée qui est utilisée dans les exemples.

Exemple d'image TIFF

L’exemple de code suivant montre comment créer un chemin de détourage dans une image 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 } };
}

Voici la capture d’écran de l’image TIFF résultante avec le chemin de détourage dans Photoshop.

TIFF avec chemin de détourage

Exporter TIFF avec chemin de détourage vers PSD en utilisant C#

Vous pouvez également exporter l’image TIFF ayant un chemin de détourage vers une image PSD pour un traitement ultérieur dans Photoshop. Cela peut être fait en quelques lignes de code.

L’exemple de code suivant montre comment exporter une image TIFF ayant un chemin de détourage vers PSD à l’aide de C#.

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

Fichier PSD

TIFF en PSD avec chemin de détourage

Conclusion

Dans cet article, vous avez vu comment créer un chemin de détourage dans une image TIFF par programmation à l’aide de C#. De plus, vous avez également appris à exporter une image TIFF vers PSD avec le chemin de détourage à l’aide de l’API Aspose.Imaging for .NET. Vous pouvez en savoir plus sur l’API de traitement d’image d’Aspose à l’aide de la documentation.

Voir également