Kırpma Yolu, görüntünün görünür olması gereken bir bölümünü seçmek için kullanılan kapalı bir vektör yoludur. Kırpma yolu oluşturulduktan sonra, görüntünün kırpma yolunun dışındaki kısmı şeffaf veya görünmez hale gelir. Adobe Photoshop’ta, kırpma yolu tekniği en çok görüntülerden ve fotoğraflardan arka planı kaldırmak için kullanılır. Bu makalede, C# kullanarak programlı olarak TIFF görüntülerde kırpma yolu oluşturmayı öğreneceksiniz. Ayrıca, TIFF görüntülerini kırpma yolu ile birlikte PSD formatına nasıl aktaracağınızı öğreneceksiniz.

TIFF’de Kırpma Yolu Oluşturmak için .NET API

Aspose.Imaging for .NET, çok çeşitli görüntü biçimlerini işlemenize ve bunlarla çalışmanıza olanak tanıyan, iyi bilinen bir görüntü işleme API’sidir. Ek olarak API, TIFF’de kırpma yollarını programlı olarak oluşturmanıza ve kırpma yolunu birkaç satır kodla TIFF’den PSD görüntüsüne aktarmanıza olanak tanır. API’yi NuGet kullanarak .NET uygulamanızın içine yükleyebilir veya DLL’sini buradan indirebilirsiniz.

C# kullanarak TIFF Görüntüsünde Kırpma Yolu Oluşturma

Bir TIFF görüntüsünde kırpma yolu oluşturmak için, yolun noktalarını bir TXT dosyasında tanımlamanız gerekir. Noktaları manuel olarak veya Photoshop’ta Kalem aracını kullanarak oluşturabilirsiniz. Aşağıdaki örneklerde kullanılacak bir kırpma yolunun Bezier noktalarını içeren örnek bir TXT dosyası aşağıdadır.

Yol noktalarını oluşturduktan sonra, bunları TIFF görüntüsünün Yol Kaynaklarına ekleyebilirsiniz. Örneklerde kullanılan hedeflenen TIFF görüntüsü aşağıdadır.

Örnek TIFF Resmi

Aşağıdaki kod örneği, bir Tiff görüntüsünde kırpma yolunun nasıl oluşturulacağını gösterir.

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şağıda, ortaya çıkan TIFF görüntüsünün Photoshop’taki kırpma yolu ile birlikte ekran görüntüsü yer almaktadır.

Kırpma Yolu ile TIFF

Kırpma Yolu ile TIFF’i C# kullanarak PSD’ye aktarın

Kırpma yoluna sahip TIFF görüntüsünü Photoshop’ta daha fazla işlemek için bir PSD görüntüsüne de aktarabilirsiniz. Bu, birkaç kod satırında yapılabilir.

Aşağıdaki kod örneği, kırpma yoluna sahip bir TIFF görüntüsünün C# kullanarak PSD’ye nasıl aktarılacağını gösterir.

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

PSD Dosyası

Kırpma Yolu ile TIFF'den PSD'ye

Çözüm

Bu makalede, C# kullanarak programlı olarak bir TIFF görüntüsünde kırpma yolu oluşturmayı gördünüz. Ayrıca, Aspose.Imaging for .NET API kullanarak bir TIFF görüntüsünü kırpma yolu ile birlikte PSD’ye nasıl aktaracağınızı da öğrendiniz. Belgeleri kullanarak Aspose’un görüntü işleme API’si hakkında daha fazlasını keşfedebilirsiniz.

Ayrıca bakınız