Clipping Path é um caminho de vetor fechado usado para selecionar uma parte da imagem que deve ser visível. Uma vez que o traçado de recorte é criado, a parte da imagem fora do traçado de recorte torna-se transparente ou invisível. No Adobe Photoshop, a técnica de traçado de recorte é mais frequentemente usada para remover o fundo das imagens e fotografias. Neste artigo, você aprenderá como criar um caminho de recorte em imagens TIFF programaticamente usando C#. Além disso, você saberá como exportar imagens TIFF para o formato PSD junto com o caminho de recorte.
- API .NET para criar caminho de recorte em TIFF
- Criar caminho de recorte na imagem TIFF usando C#
- Exporte TIFF com Clipping Path para PSD usando C#
API .NET para criar caminho de recorte em TIFF
Aspose.Imaging for .NET é uma API de processamento de imagem bem conhecida que permite processar e trabalhar com uma ampla variedade de formatos de imagem. Além disso, a API permite que você crie os caminhos de recorte em TIFF programaticamente e transfira o caminho de recorte do TIFF para a imagem PSD com algumas linhas de código. Você pode instalar a API em seu aplicativo .NET usando NuGet ou baixar sua DLL aqui.
Criar caminho de recorte na imagem TIFF usando C#
Para criar o caminho de recorte em uma imagem TIFF, você precisaria definir os pontos do caminho em um arquivo TXT. Você pode criar os pontos manualmente ou usando a ferramenta Caneta no Photoshop. O seguinte é um arquivo TXT de amostra contendo os pontos Bezier de um caminho de recorte que será usado nos exemplos abaixo.
Depois de criar os pontos de caminho, você pode inseri-los nos Recursos de caminho da imagem TIFF. Abaixo está a imagem TIFF de destino que está sendo usada nos exemplos.
O exemplo de código a seguir mostra como criar um caminho de recorte em uma imagem 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 } };
}
A seguir está a captura de tela da imagem TIFF resultante junto com o caminho de recorte no Photoshop.
Exporte TIFF com Clipping Path para PSD usando C#
Você também pode exportar a imagem TIFF com um traçado de recorte para uma imagem PSD para processamento adicional no Photoshop. Isso pode ser feito em algumas linhas de código.
- Carregue a imagem TIFF usando o método Image.Load(String).
- Exporte TIFF para PSD usando o método Image.Save(String, PsdOptions).
O exemplo de código a seguir mostra como exportar uma imagem TIFF com um caminho de recorte para PSD usando C#.
using (var image = Image.Load(@"d:\Data\SampleWithPaths.tif"))
{
image.Save(@"d:\Data\SampleWithPaths.psd", new PsdOptions());
}
Arquivo PSD
Conclusão
Neste artigo, você viu como criar um caminho de recorte em uma imagem TIFF programaticamente usando C#. Além disso, você também aprendeu como exportar uma imagem TIFF para PSD junto com o caminho de recorte usando Aspose.Imaging for .NET API. Você pode explorar mais sobre a API de processamento de imagem do Aspose usando a documentação.