Trazado de recorte es un trazado vectorial cerrado que se utiliza para seleccionar una parte de la imagen que debería estar visible. Una vez que se crea el trayecto de recorte, la parte de la imagen fuera del trayecto de recorte se vuelve transparente o invisible. En Adobe Photoshop, la técnica del trazado de recorte se utiliza con mayor frecuencia para eliminar el fondo de las imágenes y fotografías. En este artículo, aprenderá a crear un trazado de recorte en imágenes TIFF mediante programación usando C#. Además, aprenderá cómo exportar imágenes TIFF a formato PSD junto con la ruta de recorte.

.NET API para crear rutas de recorte en TIFF

Aspose.Imaging for .NET es una conocida API de procesamiento de imágenes que le permite procesar y trabajar con una amplia gama de formatos de imagen. Además, la API le permite crear rutas de recorte en TIFF mediante programación y transferir la ruta de recorte de TIFF a la imagen PSD con unas pocas líneas de código. Puede instalar la API dentro de su aplicación .NET usando NuGet o descargar su archivo DLL desde aquí.

Crear Trazado de Recorte en Imagen TIFF usando C#

Para crear la ruta de recorte en una imagen TIFF, deberá definir los puntos de la ruta en un archivo TXT. Puede crear los puntos manualmente o usando la herramienta Pluma en Photoshop. El siguiente es un archivo TXT de muestra que contiene los puntos Bézier de una ruta de recorte que se usará en los ejemplos a continuación.

Una vez que haya creado los puntos de ruta, puede insertarlos en los recursos de ruta de la imagen TIFF. A continuación se muestra la imagen TIFF específica que se utiliza en los ejemplos.

Imagen TIFF de muestra

El siguiente ejemplo de código muestra cómo crear un trazado de recorte en una imagen 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 } };
}

La siguiente es la captura de pantalla de la imagen TIFF resultante junto con el trazado de recorte en Photoshop.

TIFF con trazado de recorte

Exportar TIFF con Clipping Path a PSD usando C#

También puede exportar la imagen TIFF con un trazado de recorte a una imagen PSD para su posterior procesamiento en Photoshop. Esto se puede hacer en un par de líneas de código.

El siguiente ejemplo de código muestra cómo exportar una imagen TIFF con una ruta de recorte a PSD usando C#.

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

Archivo PSD

TIFF a PSD con trazado de recorte

Conclusión

En este artículo, ha visto cómo crear un trazado de recorte en una imagen TIFF mediante programación usando C#. Además, también aprendió cómo exportar una imagen TIFF a PSD junto con la ruta de recorte usando Aspose.Imaging for .NET API. Puede explorar más sobre la API de procesamiento de imágenes de Aspose utilizando la documentación.

Ver también