Додайте нові шари в PSD за допомогою C#

PSD(Photoshop Document) — це рідний формат файлу зображення, який використовується популярною програмою Adobe Photoshop. Його зазвичай використовують для створення логотипів, брошур та інших зображень, де файл PSD містить кілька шарів. У деяких випадках нам може знадобитися програмно маніпулювати файлами PSD. У цій статті ми дізнаємося, як додати новий шар у PSD за допомогою C#.

У цій статті будуть розглянуті такі теми:

  1. API C# для додавання нового шару в PSD
  2. Додати новий шар до PSD
  3. Додайте новий текстовий шар до PSD
  4. Створити шар із зображення в PSD

C# API для додавання нового шару в PSD

Щоб створити новий шар у файлі PSD, ми будемо використовувати Aspose.PSD for .NET API. Він підтримує створення, редагування або роботу з PSD і кількома іншими підтримуваними форматами файлів.

Клас PsdImage API дозволяє завантажувати, редагувати та зберігати файли PSD. Метод AddRegularLayer() цього класу додає новий регулярний шар. Тоді як метод AddTextLayer(string, Rectangle) додає новий текстовий шар до PSD. Цей клас також надає метод Save(string), який зберігає PSD у вказане розташування файлу.

Завантажте DLL API або встановіть його за допомогою NuGet.

PM> Install-Package Aspose.PSD

Додайте новий шар до PSD за допомогою C#

Ми можемо додати новий шар до файлу PSD, виконавши наведені нижче дії.

  1. По-перше, завантажте файл PSD як PsdImage за допомогою класу Image.
  2. Далі підготуйте об’єкт для додавання, наприклад Rectangle.
  3. Потім викличте метод AddRegularLayer().
  4. Додатково встановіть положення шару, наприклад «Верхній», «Лівий», «Правий» і «Внизу».
  5. Після цього призначте об’єкт шару за допомогою методу SaveArgb32Pixels().
  6. Нарешті, збережіть вихідний файл за допомогою методу Save().

У наведеному нижче прикладі коду показано, як додати новий шар до файлу PSD у C#.

// Цей приклад коду демонструє, як створити нові шари у файлі зображення PSD.
string sourceFileName = @"C:\Files\PSD\OneLayer.psd";
string exportPath = @"C:\Files\PSD\OneLayerEdited.psd";

// Завантажте наявний PSD
var im = (PsdImage)Image.Load(sourceFileName);

// Підготовка двох масивів int
var data1 = new int[2500];
var data2 = new int[2500];

// Дайте визначення прямокутників
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;
}

// Додати шар 1
var layer1 = im.AddRegularLayer();
layer1.Left = 25;
layer1.Top = 25;
layer1.Right = 75;
layer1.Bottom = 75;
layer1.SaveArgb32Pixels(rect1, data1);

// Додати шар 2
var layer2 = im.AddRegularLayer();
layer2.Left = 25;
layer2.Top = 150;
layer2.Right = 125;
layer2.Bottom = 175;
layer2.SaveArgb32Pixels(rect2, data2);

// Зберегти PSD
im.Save(exportPath, new PsdOptions());
Add-New-Layer-to-PSD-Programmatically-using-CSharp

Додайте новий шар до PSD програмно за допомогою C#

Додайте новий текстовий шар до PSD за допомогою C#

Ми можемо додати новий текстовий шар до файлу PSD, виконавши наведені нижче дії.

  1. По-перше, завантажте файл PSD як PsdImage за допомогою класу Image.
  2. Далі визначте прямокутник.
  3. Потім викличте метод AddTexLayer(). Він приймає введення тексту та прямокутний об’єкт як аргументи.
  4. Після цього встановіть положення шару, наприклад, зверху, зліва, справа та знизу.
  5. Нарешті, збережіть вихідний файл за допомогою методу Save().

У наведеному нижче прикладі коду показано, як додати новий текстовий шар до файлу PSD у C#.

// Цей приклад коду демонструє, як створити нові шари у файлі зображення PSD.
string sourceFileName = @"C:\Files\PSD\OneLayer.psd";
string exportPath = @"C:\Files\PSD\TextLayer.psd";

// Завантажте наявний PSD
var im = (PsdImage)Image.Load(sourceFileName);

// Додайте текстовий шар
var layer1 = im.AddTextLayer("Hello", new Rectangle(0, 0, 120, 50));
layer1.Left = 10;
layer1.Top = 25;

// Зберегти PSD
im.Save(exportPath, new PsdOptions());
Add-New-Text-Layer-to-PSD-using-CSharp

Додайте новий текстовий шар до PSD програмно за допомогою C#

Створіть новий шар із зображення в PSD за допомогою C#

Ми також можемо додати новий шар із зображення PNG або JPG до файлу PSD, виконавши наведені нижче дії.

  1. По-перше, завантажте файл PSD як PsdImage за допомогою класу Image.
  2. Далі відкрийте файл зображення PNG у потоці.
  3. Потім створіть екземпляр класу Layer з потоковим об’єктом.
  4. Після цього викличте метод AddLayer(). Він приймає об’єкт Layer як аргумент.
  5. Нарешті, збережіть вихідний файл за допомогою методу Save().

У наведеному нижче прикладі коду показано, як додати новий шар із зображення PNG до файлу PSD у C#.

// Цей приклад коду демонструє, як створити новий шар із зображення PNG у файлі зображення PSD.
string outputFilePath = @"C:\Files\PSD\PsdResult.psd";

// Створіть нове зображення PSD
var image = new PsdImage(200, 200);

// Завантажте зображення PNG
string filePath = @"C:\Files\PSD\aspose_logo.png";
var stream = new FileStream(filePath, FileMode.Open);

Layer layer = null;
try
{
    // Додайте шар до PSD
    layer = new Layer(stream);
    image.AddLayer(layer);
}
catch (Exception e)
{
    if (layer != null)
    {
        layer.Dispose();
    }
    throw e;
}

// Зберегти PSD
image.Save(outputFilePath);
Create-New-Layer-from-Image-in-PSD-using-CSharp

Створіть новий шар із зображення в PSD за допомогою C#

Отримайте безкоштовну тимчасову ліцензію

Ви можете отримати безкоштовну тимчасову ліцензію, щоб спробувати Aspose.PSD for .NET без оціночних обмежень.

Висновок

У цій статті ми дізналися, як:

  • створити нове зображення PSD;
  • створити новий звичайний шар і текстовий шар у зображенні PSD;
  • вставте зображення PNG або JPG як новий шар у PSD за допомогою C#.

Крім того, ви можете дізнатися більше про Aspose.PSD for .NET за допомогою документації і дослідити різні функції, які підтримує API. У разі будь-яких неясностей зв’яжіться з нами на нашому форумі.

Дивись також