Aggiungi nuovi livelli in PSD usando C#

PSD (Documento Photoshop) è un formato di file immagine nativo utilizzato dalla popolare applicazione Photoshop di Adobe. Viene comunemente utilizzato per creare loghi, brochure e altre immagini in cui il file PSD contiene diversi livelli. In alcuni casi, potrebbe essere necessario manipolare i file PSD a livello di codice. In questo articolo impareremo come aggiungere un nuovo livello in un PSD usando C#.

In questo articolo verranno trattati i seguenti argomenti:

  1. API C# per aggiungere un nuovo livello in PSD
  2. Aggiungi un nuovo livello a PSD
  3. Aggiungi un nuovo livello di testo a PSD
  4. Crea un livello dall’immagine in PSD

API C# per aggiungere un nuovo livello in PSD

Per creare un nuovo livello in un file PSD, utilizzeremo l’API Aspose.PSD for .NET. Supporta la creazione, la modifica o la manipolazione di PSD e molti altri formati di file supportati.

La classe PsdImage dell’API consente di caricare, modificare e salvare file PSD. Il metodo AddRegularLayer() di questa classe aggiunge un nuovo livello regolare. Considerando che il metodo AddTextLayer(string, Rectangle) aggiunge un nuovo livello di testo al PSD. Questa classe fornisce anche il metodo Save(string) che salva il PSD nella posizione del file specificata.

Si prega di scaricare la DLL dell’API o installarla utilizzando NuGet.

PM> Install-Package Aspose.PSD

Aggiungi un nuovo livello a PSD usando C#

Possiamo aggiungere un nuovo livello a un file PSD seguendo i passaggi indicati di seguito:

  1. Innanzitutto, carica il file PSD come PsdImage utilizzando la classe Image.
  2. Quindi, prepara un oggetto da aggiungere come Rectangle.
  3. Quindi, chiama il metodo AddRegularLayer().
  4. Facoltativamente, imposta la posizione del livello come In alto, Sinistra, Destra e In basso.
  5. Successivamente, assegna l’oggetto al livello utilizzando il metodo SaveArgb32Pixels().
  6. Infine, salva il file di output usando il metodo Save().

L’esempio di codice seguente mostra come aggiungere un nuovo livello a un file PSD in C#.

// Questo esempio di codice mostra come creare nuovi livelli nel file immagine PSD.
string sourceFileName = @"C:\Files\PSD\OneLayer.psd";
string exportPath = @"C:\Files\PSD\OneLayerEdited.psd";

// Carica un PSD esistente
var im = (PsdImage)Image.Load(sourceFileName);

// Preparazione di due array int
var data1 = new int[2500];
var data2 = new int[2500];

// Definisci rettangoli
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;
}

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

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

// Salva PSD
im.Save(exportPath, new PsdOptions());
Aggiungi-nuovo-livello-a-PSD-programmaticamente-usando-CSharp

Aggiungi un nuovo livello a PSD a livello di codice usando C#

Aggiungi un nuovo livello di testo a PSD usando C#

Possiamo aggiungere un nuovo livello di testo a un file PSD seguendo i passaggi indicati di seguito:

  1. Innanzitutto, carica il file PSD come PsdImage utilizzando la classe Image.
  2. Quindi, definisci un rettangolo.
  3. Quindi, chiama il metodo AddTexLayer(). Prende l’input di testo e un oggetto rettangolo come argomenti.
  4. Successivamente, imposta la posizione del livello come In alto, Sinistra, Destra e In basso.
  5. Infine, salva il file di output usando il metodo Save().

L’esempio di codice seguente mostra come aggiungere un nuovo livello di testo a un file PSD in C#.

// Questo esempio di codice mostra come creare nuovi livelli nel file immagine PSD.
string sourceFileName = @"C:\Files\PSD\OneLayer.psd";
string exportPath = @"C:\Files\PSD\TextLayer.psd";

// Carica un PSD esistente
var im = (PsdImage)Image.Load(sourceFileName);

// Aggiungi un livello di testo
var layer1 = im.AddTextLayer("Hello", new Rectangle(0, 0, 120, 50));
layer1.Left = 10;
layer1.Top = 25;

// Salva PSD
im.Save(exportPath, new PsdOptions());
Aggiungi-nuovo-livello-di-testo-a-PSD-usando-CSharp

Aggiungi un nuovo livello di testo a PSD a livello di codice usando C#

Crea un nuovo livello dall’immagine in PSD usando C#

Possiamo anche aggiungere un nuovo livello da un’immagine PNG o JPG a un file PSD seguendo i passaggi indicati di seguito:

  1. Innanzitutto, carica il file PSD come PsdImage utilizzando la classe Image.
  2. Quindi, apri il file di immagine PNG in un flusso.
  3. Quindi, crea un’istanza della classe Layer con l’oggetto stream.
  4. Successivamente, chiama il metodo AddLayer(). Prende l’oggetto Layer come argomento.
  5. Infine, salva il file di output usando il metodo Save().

L’esempio di codice seguente mostra come aggiungere un nuovo livello da un’immagine PNG a un file PSD in C#.

// Questo esempio di codice mostra come creare un nuovo livello da un'immagine PNG in un file immagine PSD.
string outputFilePath = @"C:\Files\PSD\PsdResult.psd";

// Crea una nuova immagine PSD
var image = new PsdImage(200, 200);

// Carica un'immagine PNG
string filePath = @"C:\Files\PSD\aspose_logo.png";
var stream = new FileStream(filePath, FileMode.Open);

Layer layer = null;
try
{
    // Aggiungi livello a PSD
    layer = new Layer(stream);
    image.AddLayer(layer);
}
catch (Exception e)
{
    if (layer != null)
    {
        layer.Dispose();
    }
    throw e;
}

// Salva PSD
image.Save(outputFilePath);
Crea-nuovo-livello-da-immagine-in-PSD-usando-CSharp

Crea un nuovo livello dall’immagine in PSD usando C#

Ottieni una licenza temporanea gratuita

Puoi ottenere una licenza temporanea gratuita per provare Aspose.PSD per .NET senza limitazioni di valutazione.

Conclusione

In questo articolo abbiamo imparato a:

  • creare una nuova immagine PSD;
  • crea un nuovo livello regolare e un livello di testo in un’immagine PSD;
  • inserisci un’immagine PNG o JPG come nuovo livello in PSD usando C#.

Inoltre, puoi saperne di più su Aspose.PSD per .NET usando la documentazione ed esplorare diverse funzionalità supportate dall’API. In caso di ambiguità, non esitare a contattarci sul nostro forum.

Guarda anche