Introduzione

Aspose.PSD FOSS per .NET è una nuova libreria open-source per lavorare con file PSD e PSB (Photoshop large document) da codice .NET. È rilasciata sotto licenza MIT, richiede solo .NET 10.0 a runtime e non ha altre dipendenze di terze parti. Il pacchetto viene importato con using Aspose.PSD.FOSS;.

La libreria è organizzata attorno alla classe PsdImage, che estende la classe base astratta Image, e alla classe Layer. Image.Load() / PsdImage.Load() caricano un documento da un percorso file o da uno stream, esponendo le informazioni dell’intestazione (Width, Height, ColorMode, Version, Compression) e la collezione Layers analizzata; PsdImage.Save() scrive il documento nuovamente su file o stream. Ogni Layer espone i propri metadati — Name, Bounds, IsVisible, Opacity, Clipping, BlendModeKey, e le informazioni di canale/maschera — e un sottoinsieme di queste proprietà può essere modificato in loco e salvato nuovamente nel file.

Questa release è destinata agli sviluppatori che necessitano di ispezionare o effettuare modifiche limitate ai metadati dei file PSD/PSB all’interno di un codebase .NET senza una licenza commerciale — strumenti della pipeline di asset che riportano la struttura dei livelli, script di build che rinominano o attivano/disattivano la visibilità dei livelli prima del trasferimento, o fixture di test che devono leggere l’intestazione PSD e i dati dei livelli senza un motore di rendering completo. La libreria non renderizza dati pixel né converte PSD/PSB in altri formati immagine — è un lettore/scrittore focalizzato sui metadati per il formato contenitore PSD/PSB.


Cosa è incluso

Ispezione del documento

PsdImage.Load() analizza l’intestazione di un file PSD o PSB in proprietà tipizzate — Width, Height, BitsPerChannel, ColorMode, Version, Compression, Size e IsFlatten — senza decodificare i dati pixel.

using var image = (PsdImage)Image.Load(inputPath);
Console.WriteLine($"Width: {image.Width}, Height: {image.Height}");
Console.WriteLine($"ColorMode: {image.ColorMode}, Version: {image.Version}");
Console.WriteLine($"Layers: {image.Layers.Length}, Compression: {image.Compression}");

Metadati del livello

Ogni voce in PsdImage.Layers è un Layer che espone i propri limiti, visibilità, opacità, ritaglio e i metadati della modalità di fusione.

foreach (var layer in image.Layers)
{
    Console.WriteLine($"{layer.Name}: {layer.Bounds}, Visible={layer.IsVisible}, Opacity={layer.Opacity}");
}

Modifiche ai Metadati Supportate

Un sottoinsieme delle proprietà del livello può essere modificato in loco e riscritto con PsdImage.Save(): nome, visibilità, opacità, ritaglio, chiave della modalità di fusione e i quattro bordi dei limiti.

Layer layer = image.Layers[0];
layer.Name = $"{layer.Name} (edited)";
layer.IsVisible = !layer.IsVisible;
layer.Opacity = 128;
layer.BlendModeKey = BlendMode.Multiply;
image.Save(outputPath);

Avvio rapido

Installa il pacchetto, quindi carica un file PSD o PSB, ispeziona i suoi livelli e salvalo nuovamente:

git clone https://github.com/aspose-psd-foss/Aspose.PSD-FOSS-for-.NET.git
cd Aspose.PSD-FOSS-for-.NET
dotnet build
using Aspose.PSD.FileFormats.Psd;

using var image = (PsdImage)Image.Load("input.psd");
Console.WriteLine($"Width: {image.Width}, Height: {image.Height}, Layers: {image.Layers.Length}");

foreach (var layer in image.Layers)
{
    Console.WriteLine($"  {layer.Name}: {layer.Bounds}");
}

image.Save("output.psd");

Formati supportati

FormatoEstensioneLeggiScrivi
Documento Photoshoppsd✓✓
Documento Photoshop di grandi dimensionipsb✓✓

Open Source e Licenze

Aspose.PSD FOSS per .NET è con licenza MIT e può essere usato in prodotti commerciali senza royalty, senza filigrana di valutazione né limite di utilizzo.

Il pacchetto è alla versione 1.0.0 e richiede solo .NET 10.0 a runtime — non ha altre dipendenze di terze parti.


Iniziare

Risorse correlate