Dodaj nowe warstwy w PSD za pomocą C#

PSD (Photoshop Document) to natywny format pliku obrazu używany przez popularną aplikację Photoshop firmy Adobe. Jest powszechnie używany do tworzenia logo, broszur i innych obrazów, w których plik PSD zawiera kilka warstw. W niektórych przypadkach może zaistnieć potrzeba programowej manipulacji plikami PSD. W tym artykule dowiemy się, jak dodać nową warstwę w pliku PSD za pomocą języka C#.

W tym artykule zostaną omówione następujące tematy:

  1. C# API do dodawania nowej warstwy w PSD
  2. Dodaj nową warstwę do pliku PSD
  3. Dodaj nową warstwę tekstową do pliku PSD
  4. Utwórz warstwę z obrazu w PSD

C# API do dodawania nowej warstwy w PSD

Aby utworzyć nową warstwę w pliku PSD, użyjemy API Aspose.PSD for .NET. Obsługuje tworzenie, edytowanie lub manipulowanie plikami PSD i kilkoma innymi obsługiwanymi formatami plików.

Klasa PsdImage API umożliwia ładowanie, edytowanie i zapisywanie plików PSD. Metoda AddRegularLayer() tej klasy dodaje nową zwykłą warstwę. Natomiast metoda AddTextLayer(string, Rectangle) dodaje nową warstwę tekstową do pliku PSD. Ta klasa udostępnia również metodę Save(string), która zapisuje plik PSD w określonej lokalizacji pliku.

Proszę pobrać bibliotekę DLL interfejsu API lub zainstalować ją za pomocą NuGet.

PM> Install-Package Aspose.PSD

Dodaj nową warstwę do PSD za pomocą C#

Możemy dodać nową warstwę do pliku PSD, wykonując czynności podane poniżej:

  1. Najpierw załaduj plik PSD jako PsdImage, używając klasy Image.
  2. Następnie przygotuj obiekt do dodania, na przykład prostokąt.
  3. Następnie wywołaj metodę AddRegularLayer().
  4. Opcjonalnie ustaw położenie warstwy, takie jak Góra, Lewa, Prawa i Dół.
  5. Następnie przypisz obiekt do warstwy za pomocą metody SaveArgb32Pixels().
  6. Na koniec zapisz plik wyjściowy przy użyciu metody Save().

Poniższy przykładowy kod pokazuje, jak dodać nową warstwę do pliku PSD w języku C#.

// Ten przykładowy kod demonstruje sposób tworzenia nowych warstw w pliku obrazu PSD.
string sourceFileName = @"C:\Files\PSD\OneLayer.psd";
string exportPath = @"C:\Files\PSD\OneLayerEdited.psd";

// Załaduj istniejący plik PSD
var im = (PsdImage)Image.Load(sourceFileName);

// Przygotowanie dwóch tablic int
var data1 = new int[2500];
var data2 = new int[2500];

// Zdefiniuj prostokąty
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;
}

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

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

// Zapisz plik PSD
im.Save(exportPath, new PsdOptions());
Dodaj-nową-warstwę-do-PSD-programowo-przy użyciu-CSharp

Dodaj nową warstwę do PSD Programowo przy użyciu C#

Dodaj nową warstwę tekstową do PSD za pomocą C#

Możemy dodać nową warstwę tekstową do pliku PSD, wykonując czynności podane poniżej:

  1. Najpierw załaduj plik PSD jako PsdImage, używając klasy Image.
  2. Następnie zdefiniuj prostokąt.
  3. Następnie wywołaj metodę AddTexLayer(). Jako argumenty pobiera tekst i obiekt prostokąta.
  4. Następnie ustaw położenie warstwy, takie jak góra, lewo, prawo i dół.
  5. Na koniec zapisz plik wyjściowy przy użyciu metody Save().

Poniższy przykładowy kod pokazuje, jak dodać nową warstwę tekstową do pliku PSD w języku C#.

// Ten przykładowy kod demonstruje sposób tworzenia nowych warstw w pliku obrazu PSD.
string sourceFileName = @"C:\Files\PSD\OneLayer.psd";
string exportPath = @"C:\Files\PSD\TextLayer.psd";

// Załaduj istniejący plik PSD
var im = (PsdImage)Image.Load(sourceFileName);

// Dodaj warstwę tekstową
var layer1 = im.AddTextLayer("Hello", new Rectangle(0, 0, 120, 50));
layer1.Left = 10;
layer1.Top = 25;

// Zapisz plik PSD
im.Save(exportPath, new PsdOptions());
Dodaj-nową-warstwę-tekstową-do-PSD-przy użyciu-CSharp

Dodaj nową warstwę tekstową do PSD Programowo przy użyciu C#

Utwórz nową warstwę z obrazu w PSD za pomocą C#

Możemy również dodać nową warstwę z obrazu PNG lub JPG do pliku PSD, wykonując czynności podane poniżej:

  1. Najpierw załaduj plik PSD jako PsdImage, używając klasy Image.
  2. Następnie otwórz plik obrazu PNG w strumieniu.
  3. Następnie utwórz instancję klasy Layer z obiektem stream.
  4. Następnie wywołaj metodę AddLayer(). Jako argument przyjmuje obiekt Layer.
  5. Na koniec zapisz plik wyjściowy przy użyciu metody Save().

Poniższy przykładowy kod pokazuje, jak dodać nową warstwę z obrazu PNG do pliku PSD w języku C#.

// Ten przykład kodu pokazuje, jak utworzyć nową warstwę z obrazu PNG w pliku obrazu PSD.
string outputFilePath = @"C:\Files\PSD\PsdResult.psd";

// Utwórz nowy obraz PSD
var image = new PsdImage(200, 200);

// Załaduj obraz PNG
string filePath = @"C:\Files\PSD\aspose_logo.png";
var stream = new FileStream(filePath, FileMode.Open);

Layer layer = null;
try
{
    // Dodaj warstwę do pliku PSD
    layer = new Layer(stream);
    image.AddLayer(layer);
}
catch (Exception e)
{
    if (layer != null)
    {
        layer.Dispose();
    }
    throw e;
}

// Zapisz plik PSD
image.Save(outputFilePath);
Utwórz-nową-warstwę-z-obrazu-w-PSD-za pomocą-CSharp

Utwórz nową warstwę z obrazu w PSD za pomocą C#

Uzyskaj bezpłatną tymczasową licencję

Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować Aspose.PSD for .NET bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule dowiedzieliśmy się, jak:

  • utwórz nowy obraz PSD;
  • utwórz nową zwykłą warstwę i warstwę tekstową w obrazie PSD;
  • wstawić obraz PNG lub JPG jako nową warstwę w PSD przy użyciu języka C#.

Poza tym możesz dowiedzieć się więcej o Aspose.PSD for .NET korzystając z dokumentacji i poznać różne funkcje obsługiwane przez API. W przypadku jakichkolwiek niejasności prosimy o kontakt na naszym forum.

Zobacz też