Neue Ebenen in PSD mit C# hinzufügen

PSD (Photoshop Document) ist ein natives Bilddateiformat, das von Adobes beliebter Photoshop-Anwendung verwendet wird. Es wird häufig verwendet, um Logos, Broschüren und andere Bilder zu erstellen, bei denen die PSD-Datei mehrere Ebenen enthält. In bestimmten Fällen müssen wir die PSD-Dateien möglicherweise programmgesteuert manipulieren. In diesem Artikel erfahren Sie, wie Sie mit C# eine neue Ebene in einer PSD hinzufügen.

Folgende Themen sollen in diesem Artikel behandelt werden:

  1. C#-API zum Hinzufügen einer neuen Ebene in PSD
  2. PSD eine neue Ebene hinzufügen
  3. PSD eine neue Textebene hinzufügen
  4. Ebene aus Bild in PSD erstellen

C#-API zum Hinzufügen einer neuen Ebene in PSD

Um eine neue Ebene in einer PSD-Datei zu erstellen, verwenden wir die API Aspose.PSD for .NET. Es unterstützt das Erstellen, Bearbeiten oder Manipulieren von PSD und mehreren anderen unterstützten Dateiformaten.

Die Klasse PsdImage der API ermöglicht das Laden, Bearbeiten und Speichern von PSD-Dateien. Die Methode AddRegularLayer() dieser Klasse fügt eine neue reguläre Ebene hinzu. Die Methode AddTextLayer(string, Rectangle) hingegen fügt der PSD eine neue Textebene hinzu. Diese Klasse stellt auch die Methode Save(string) bereit, die die PSD am angegebenen Dateispeicherort speichert.

Bitte laden Sie die DLL der API herunter oder installieren Sie sie mit NuGet.

PM> Install-Package Aspose.PSD

Hinzufügen einer neuen Ebene zu PSD mit C#

Wir können einer PSD-Datei eine neue Ebene hinzufügen, indem wir die folgenden Schritte ausführen:

  1. Laden Sie zunächst die PSD-Datei als PsdImage mithilfe der Image-Klasse.
  2. Bereiten Sie als Nächstes ein hinzuzufügendes Objekt vor, z. B. Rectangle.
  3. Rufen Sie dann die Methode AddRegularLayer() auf.
  4. Legen Sie optional die Ebenenposition wie Oben, Links, Rechts und Unten fest.
  5. Weisen Sie danach das Objekt mit der Methode SaveArgb32Pixels() der Ebene zu.
  6. Speichern Sie abschließend die Ausgabedatei mit der Methode Save().

Das folgende Codebeispiel zeigt, wie Sie einer PSD-Datei in C# eine neue Ebene hinzufügen.

// Dieses Codebeispiel zeigt, wie Sie neue Ebenen in einer PSD-Bilddatei erstellen.
string sourceFileName = @"C:\Files\PSD\OneLayer.psd";
string exportPath = @"C:\Files\PSD\OneLayerEdited.psd";

// Laden Sie eine vorhandene PSD
var im = (PsdImage)Image.Load(sourceFileName);

// Vorbereiten von zwei int-Arrays
var data1 = new int[2500];
var data2 = new int[2500];

// Rechtecke definieren
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;
}

// Ebene 1 hinzufügen
var layer1 = im.AddRegularLayer();
layer1.Left = 25;
layer1.Top = 25;
layer1.Right = 75;
layer1.Bottom = 75;
layer1.SaveArgb32Pixels(rect1, data1);

// Ebene 2 hinzufügen
var layer2 = im.AddRegularLayer();
layer2.Left = 25;
layer2.Top = 150;
layer2.Right = 125;
layer2.Bottom = 175;
layer2.SaveArgb32Pixels(rect2, data2);

// PSD speichern
im.Save(exportPath, new PsdOptions());
Programmgesteuertes-Hinzufügen-einer-neuen-Ebene-zu-PSD-mit-CSharp

Neue Ebene zu PSD programmgesteuert mit C# hinzufügen

Hinzufügen einer neuen Textebene zu PSD mit C#

Wir können einer PSD-Datei eine neue Textebene hinzufügen, indem wir die folgenden Schritte ausführen:

  1. Laden Sie zunächst die PSD-Datei als PsdImage mithilfe der Image-Klasse.
  2. Definieren Sie als Nächstes ein Rechteck.
  3. Rufen Sie dann die Methode AddTexLayer() auf. Es nimmt eine Texteingabe und ein rechteckiges Objekt als Argumente.
  4. Stellen Sie danach die Ebenenposition wie Oben, Links, Rechts und Unten ein.
  5. Speichern Sie abschließend die Ausgabedatei mit der Methode Save().

Das folgende Codebeispiel zeigt, wie Sie einer PSD-Datei in C# eine neue Textebene hinzufügen.

// Dieses Codebeispiel zeigt, wie Sie neue Ebenen in einer PSD-Bilddatei erstellen.
string sourceFileName = @"C:\Files\PSD\OneLayer.psd";
string exportPath = @"C:\Files\PSD\TextLayer.psd";

// Laden Sie eine vorhandene PSD
var im = (PsdImage)Image.Load(sourceFileName);

// Fügen Sie eine Textebene hinzu
var layer1 = im.AddTextLayer("Hello", new Rectangle(0, 0, 120, 50));
layer1.Left = 10;
layer1.Top = 25;

// PSD speichern
im.Save(exportPath, new PsdOptions());
Neue-Textebene-zu-PSD-hinzufügen-mit-CSharp

Hinzufügen einer neuen Textebene zu PSD programmgesteuert mit C#

Erstellen Sie eine neue Ebene aus einem Bild in PSD mit C#

Wir können einer PSD-Datei auch eine neue Ebene aus einem PNG- oder JPG-Bild hinzufügen, indem wir die folgenden Schritte ausführen:

  1. Laden Sie zunächst die PSD-Datei als PsdImage mithilfe der Image-Klasse.
  2. Öffnen Sie als Nächstes die PNG-Bilddatei in einem Stream.
  3. Erstellen Sie dann eine Instanz der Layer-Klasse mit dem Stream-Objekt.
  4. Rufen Sie danach die Methode AddLayer() auf. Es nimmt das Layer-Objekt als Argument.
  5. Speichern Sie abschließend die Ausgabedatei mit der Methode Save().

Das folgende Codebeispiel zeigt, wie Sie eine neue Ebene aus einem PNG-Bild zu einer PSD-Datei in C# hinzufügen.

// Dieses Codebeispiel zeigt, wie Sie eine neue Ebene aus einem PNG-Bild in einer PSD-Bilddatei erstellen.
string outputFilePath = @"C:\Files\PSD\PsdResult.psd";

// Erstellen Sie ein neues PSD-Bild
var image = new PsdImage(200, 200);

// Laden Sie ein PNG-Bild
string filePath = @"C:\Files\PSD\aspose_logo.png";
var stream = new FileStream(filePath, FileMode.Open);

Layer layer = null;
try
{
    // Ebene zu PSD hinzufügen
    layer = new Layer(stream);
    image.AddLayer(layer);
}
catch (Exception e)
{
    if (layer != null)
    {
        layer.Dispose();
    }
    throw e;
}

// PSD speichern
image.Save(outputFilePath);
Erstelle-neue-Ebene-aus-Bild-in-PSD-mit-CSharp

Erstellen Sie eine neue Ebene aus einem Bild in PSD mit C #

Holen Sie sich eine kostenlose temporäre Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um Aspose.PSD für .NET ohne Evaluierungseinschränkungen zu testen.

Fazit

In diesem Artikel haben wir gelernt, wie man:

  • ein neues PSD-Bild erstellen;
  • Erstellen Sie eine neue reguläre Ebene und eine Textebene in einem PSD-Bild;
  • Fügen Sie ein PNG- oder JPG-Bild als neue Ebene in PSD mit C# ein.

Außerdem können Sie mithilfe der Dokumentation mehr über Aspose.PSD für .NET erfahren und verschiedene von der API unterstützte Funktionen erkunden. Bei Unklarheiten können Sie uns gerne in unserem Forum kontaktieren.

Siehe auch