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 buildusing 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
| Formato | Estensione | Leggi | Scrivi |
|---|---|---|---|
| Documento Photoshop | psd | ✓ | ✓ |
| Documento Photoshop di grandi dimensioni | psb | ✓ | ✓ |
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.