Introdução
Aspose.PSD FOSS para .NET é uma nova biblioteca de código aberto para trabalhar com arquivos PSD e PSB (documento grande do Photoshop) a partir de código .NET. É lançada sob a licença MIT, requer apenas .NET 10.0 em tempo de execução e não tem outras dependências de terceiros. O pacote é importado com using Aspose.PSD.FOSS;.
A biblioteca está organizada em torno da classe PsdImage, que estende a classe base abstrata Image, e da classe Layer. Image.Load() / PsdImage.Load() carregam um documento a partir de um caminho de arquivo ou de um stream, expondo informações de cabeçalho (Width, Height, ColorMode, Version, Compression) e a coleção Layers analisada; PsdImage.Save() grava o documento de volta em um arquivo ou stream. Cada Layer expõe seus próprios metadados — Name, Bounds, IsVisible, Opacity, Clipping, BlendModeKey, e informações de canal/máscara — e um subconjunto dessas propriedades pode ser alterado no local e salvo novamente no arquivo.
Esta versão é destinada a desenvolvedores que precisam inspecionar ou fazer edições limitadas de metadados em arquivos PSD/PSB dentro de uma base de código .NET sem uma licença comercial — ferramentas de pipeline de ativos que relatam a estrutura de camadas, scripts de compilação que renomeiam ou alternam a visibilidade de camadas antes da entrega, ou fixtures de teste que precisam ler o cabeçalho PSD e os dados de camada sem um motor de renderização completo. A biblioteca não renderiza dados de pixel nem converte PSD/PSB para outros formatos de imagem — é um leitor/gravador focado em metadados para o formato de contêiner PSD/PSB.
O que está incluído
Inspeção de Documento
PsdImage.Load() analisa o cabeçalho de um arquivo PSD ou PSB em propriedades tipadas — Width, Height, BitsPerChannel, ColorMode, Version, Compression, Size e IsFlatten — sem decodificar os dados de 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}");
Metadados da Camada
Cada entrada em PsdImage.Layers é um Layer que expõe seus próprios limites, visibilidade, opacidade, recorte e metadados de modo de mesclagem.
foreach (var layer in image.Layers)
{
Console.WriteLine($"{layer.Name}: {layer.Bounds}, Visible={layer.IsVisible}, Opacity={layer.Opacity}");
}
Edições de Metadados Suportadas
Um subconjunto das propriedades da camada pode ser alterado no local e escrito de volta com PsdImage.Save(): nome, visibilidade, opacidade, recorte, chave do modo de mesclagem e as quatro bordas de limites.
Layer layer = image.Layers[0];
layer.Name = $"{layer.Name} (edited)";
layer.IsVisible = !layer.IsVisible;
layer.Opacity = 128;
layer.BlendModeKey = BlendMode.Multiply;
image.Save(outputPath);
Início Rápido
Instale o pacote, então carregue um arquivo PSD ou PSB, inspecione suas camadas e salve-o novamente:
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");
Formatos Suportados
| Formato | Extensão | Ler | Escrever |
|---|---|---|---|
| Documento do Photoshop | psd | ✓ | ✓ |
| Documento Grande do Photoshop | psb | ✓ | ✓ |
Código Aberto & Licenciamento
Aspose.PSD FOSS for .NET é licenciado sob MIT e pode ser usado em produtos comerciais sem royalties, sem marca d’água de avaliação ou limite de uso.
O pacote está na versão 1.0.0 e requer apenas .NET 10.0 em tempo de execução — não tem outras dependências de terceiros.