C# kullanarak PSD'de Yeni Katmanlar Ekleme

PSD (Photoshop Belgesi), Adobe’nin popüler Photoshop Uygulaması tarafından kullanılan yerel bir görüntü dosyası formatıdır. Genellikle logolar, broşürler ve PSD dosyasının birkaç katman içerdiği diğer görüntüleri oluşturmak için kullanılır. Belirli durumlarda, PSD dosyalarını programlı olarak değiştirmemiz gerekebilir. Bu yazıda, C# kullanarak bir PSD’ye nasıl yeni bir katman ekleneceğini öğreneceğiz.

Bu yazıda aşağıdaki konular ele alınacaktır:

  1. PSD’de Yeni Katman Eklemek İçin C# API’si
  2. PSD’ye Yeni Bir Katman Ekleyin
  3. PSD’ye Yeni Bir Metin Katmanı Ekleyin
  4. PSD’deki Görüntüden Bir Katman Oluşturun

PSD’ye Yeni Katman Eklemek için C# API’si

Bir PSD dosyasında yeni bir katman oluşturmak için Aspose.PSD for .NET API’sini kullanacağız. PSD ve diğer birçok desteklenen dosya biçimini oluşturmayı, düzenlemeyi veya değiştirmeyi destekler.

API’nin PsdImage sınıfı, PSD dosyalarının yüklenmesine, düzenlenmesine ve kaydedilmesine olanak tanır. Bu sınıfın AddRegularLayer() yöntemi, yeni bir normal katman ekler. AddTextLayer(string, Rectangle) yöntemi ise PSD’ye yeni bir Metin katmanı ekler. Bu sınıf ayrıca, PSD’yi belirtilen dosya konumuna kaydeden Save(string) yöntemini de sağlar.

Lütfen API’nin [DLL’sini 12 indirin] veya NuGet kullanarak kurun.

PM> Install-Package Aspose.PSD

C# kullanarak PSD’ye Yeni Katman Ekleme

Aşağıda verilen adımları izleyerek bir PSD dosyasına yeni bir katman ekleyebiliriz:

  1. İlk olarak, Image sınıfını kullanarak PSD dosyasını PsdImage olarak yükleyin.
  2. Ardından, Dikdörtgen gibi eklenecek bir nesne hazırlayın.
  3. Ardından, AddRegularLayer() yöntemini çağırın.
  4. İsteğe bağlı olarak, Üst, Sol, Sağ ve Alt gibi katman konumunu ayarlayın.
  5. Bundan sonra, SaveArgb32Pixels() yöntemini kullanarak nesneyi katmana atayın.
  6. Son olarak, çıktı dosyasını Save() yöntemini kullanarak kaydedin.

Aşağıdaki kod örneği, C# dilinde bir PSD dosyasına nasıl yeni katman ekleneceğini gösterir.

// Bu kod örneği, PSD görüntü dosyasında yeni katmanların nasıl oluşturulacağını gösterir.
string sourceFileName = @"C:\Files\PSD\OneLayer.psd";
string exportPath = @"C:\Files\PSD\OneLayerEdited.psd";

// Mevcut bir PSD'yi yükleyin
var im = (PsdImage)Image.Load(sourceFileName);

// İki int dizisi hazırlanıyor
var data1 = new int[2500];
var data2 = new int[2500];

// Dikdörtgenleri tanımlayın
var rect1 = new Rectangle(0, 0, 50, 50);
var rect2 = new Rectangle(0, 0, 100, 25);

for (int i = 0; i < 2500; i++)
{
    data1[i] = -10000000;
    data2[i] = -10000000;
}

// Katman 1 Ekle
var layer1 = im.AddRegularLayer();
layer1.Left = 25;
layer1.Top = 25;
layer1.Right = 75;
layer1.Bottom = 75;
layer1.SaveArgb32Pixels(rect1, data1);

// Katman 2 Ekle
var layer2 = im.AddRegularLayer();
layer2.Left = 25;
layer2.Top = 150;
layer2.Right = 125;
layer2.Bottom = 175;
layer2.SaveArgb32Pixels(rect2, data2);

// PSD'yi kaydet
im.Save(exportPath, new PsdOptions());
PSD'ye Programlı Olarak CSharp Kullanarak Yeni Katman Ekleme

C# kullanarak Programlı Olarak PSD’ye Yeni Katman Ekleme

C# kullanarak PSD’ye Yeni Metin Katmanı Ekleme

Aşağıda verilen adımları izleyerek bir PSD dosyasına yeni bir metin katmanı ekleyebiliriz:

  1. İlk olarak, Image sınıfını kullanarak PSD dosyasını PsdImage olarak yükleyin.
  2. Ardından, bir Dikdörtgen tanımlayın.
  3. Ardından, AddTexLayer() yöntemini çağırın. Bağımsız değişken olarak metin girişi ve bir dikdörtgen nesne alır.
  4. Bundan sonra, Üst, Sol, Sağ ve Alt gibi katman konumunu ayarlayın.
  5. Son olarak, çıktı dosyasını Save() yöntemini kullanarak kaydedin.

Aşağıdaki kod örneği, C# dilinde bir PSD dosyasına yeni bir metin katmanının nasıl ekleneceğini gösterir.

// Bu kod örneği, PSD görüntü dosyasında yeni katmanların nasıl oluşturulacağını gösterir.
string sourceFileName = @"C:\Files\PSD\OneLayer.psd";
string exportPath = @"C:\Files\PSD\TextLayer.psd";

// Mevcut bir PSD'yi yükleyin
var im = (PsdImage)Image.Load(sourceFileName);

// Metin katmanı ekleyin
var layer1 = im.AddTextLayer("Hello", new Rectangle(0, 0, 120, 50));
layer1.Left = 10;
layer1.Top = 25;

// PSD'yi kaydet
im.Save(exportPath, new PsdOptions());
CSharp Kullanarak PSD'ye Yeni Metin Katmanı Ekleme

C# kullanarak Programlı Olarak PSD’ye Yeni Metin Katmanı Ekleme

C# kullanarak PSD’de Görüntüden Yeni Katman Oluşturun

Ayrıca, aşağıda verilen adımları izleyerek bir PNG veya JPG görüntüsünden bir PSD dosyasına yeni bir katman ekleyebiliriz:

  1. İlk olarak, Image sınıfını kullanarak PSD dosyasını PsdImage olarak yükleyin.
  2. Ardından, PNG resim dosyasını bir akışta açın.
  3. Ardından, akış nesnesiyle Layer sınıfının bir örneğini oluşturun.
  4. Bundan sonra, AddLayer() yöntemini çağırın. Layer nesnesini argüman olarak alır.
  5. Son olarak, çıktı dosyasını Save() yöntemini kullanarak kaydedin.

Aşağıdaki kod örneği, C# dilinde bir PNG görüntüsünden bir PSD dosyasına yeni bir katmanın nasıl ekleneceğini gösterir.

// Bu kod örneği, PSD görüntü dosyasındaki bir PNG görüntüsünden nasıl yeni katman oluşturulacağını gösterir.
string outputFilePath = @"C:\Files\PSD\PsdResult.psd";

// Yeni bir PSD görüntüsü oluştur
var image = new PsdImage(200, 200);

// Bir PNG resmi yükleyin
string filePath = @"C:\Files\PSD\aspose_logo.png";
var stream = new FileStream(filePath, FileMode.Open);

Layer layer = null;
try
{
    // PSD'ye katman ekle
    layer = new Layer(stream);
    image.AddLayer(layer);
}
catch (Exception e)
{
    if (layer != null)
    {
        layer.Dispose();
    }
    throw e;
}

// PSD'yi kaydet
image.Save(outputFilePath);
CSharp Kullanarak PSD'de Görüntüden-Yeni-Katman Oluşturun

C# kullanarak PSD’de Görüntüden Yeni Katman Oluşturun

Ücretsiz Geçici Lisans Alın

Aspose.PSD for .NET’i değerlendirme sınırlamaları olmadan denemek için ücretsiz bir geçici lisans alabilirsiniz.

Çözüm

Bu makalede, şunların nasıl yapıldığını öğrendik:

  • yeni bir PSD görüntüsü oluşturun;
  • PSD görüntüsünde yeni bir normal katman ve bir metin katmanı oluşturun;
  • C# kullanarak PSD’de yeni bir katman olarak bir PNG veya JPG görüntüsü ekleyin.

Ayrıca, belgeleri kullanarak Aspose.PSD for .NET hakkında daha fazla bilgi edinebilir ve API tarafından desteklenen farklı özellikleri keşfedebilirsiniz. Herhangi bir belirsizlik durumunda, lütfen forumumuzdan bizimle iletişime geçmekten çekinmeyin.

Ayrıca bakınız