Introducción
Aspose.PSD FOSS para .NET es una nueva biblioteca de código abierto para trabajar con archivos PSD y PSB (documento grande de Photoshop) desde código .NET. Se publica bajo la licencia MIT, requiere solo .NET 10.0 en tiempo de ejecución y no tiene otras dependencias de terceros. El paquete se importa con using Aspose.PSD.FOSS;.
La biblioteca está organizada alrededor de la clase PsdImage, que extiende la clase base abstracta Image, y la clase Layer. Image.Load() / PsdImage.Load() cargan un documento desde una ruta de archivo o un flujo, exponiendo la información de encabezado (Width, Height, ColorMode, Version, Compression) y la colección analizada de Layers; PsdImage.Save() escribe el documento de nuevo a un archivo o flujo. Cada Layer expone sus propios metadatos — Name, Bounds, IsVisible, Opacity, Clipping, BlendModeKey, y la información de canal/máscara — y un subconjunto de estas propiedades puede modificarse in situ y guardarse de nuevo en el archivo.
Esta versión está dirigida a desarrolladores que necesitan inspeccionar o realizar ediciones limitadas de metadatos en archivos PSD/PSB dentro de una base de código .NET sin una licencia comercial — herramientas de canal de activos que informan sobre la estructura de capas, scripts de compilación que renombran o alternan la visibilidad de capas antes de la entrega, o fixtures de prueba que necesitan leer el encabezado PSD y los datos de capa sin un motor de renderizado completo. La biblioteca no renderiza datos de píxeles ni convierte PSD/PSB a otros formatos de imagen — es un lector/escritor centrado en metadatos para el formato contenedor PSD/PSB.
Qué incluye
Inspección de documentos
PsdImage.Load() analiza el encabezado de un archivo PSD o PSB en propiedades tipadas — Width, Height, BitsPerChannel, ColorMode, Version, Compression, Size y IsFlatten — sin decodificar datos de píxeles.
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}");
Metadatos de capa
Cada entrada en PsdImage.Layers es un Layer que expone sus propios límites, visibilidad, opacidad, recorte y metadatos de modo de fusión.
foreach (var layer in image.Layers)
{
Console.WriteLine($"{layer.Name}: {layer.Bounds}, Visible={layer.IsVisible}, Opacity={layer.Opacity}");
}
Ediciones de metadatos compatibles
Un subconjunto de propiedades de capa puede modificarse in situ y volver a guardarse con PsdImage.Save(): nombre, visibilidad, opacidad, recorte, clave del modo de fusión y los cuatro bordes de los límites.
Layer layer = image.Layers[0];
layer.Name = $"{layer.Name} (edited)";
layer.IsVisible = !layer.IsVisible;
layer.Opacity = 128;
layer.BlendModeKey = BlendMode.Multiply;
image.Save(outputPath);
Inicio rápido
Instala el paquete, luego carga un archivo PSD o PSB, inspecciona sus capas y guárdalo de nuevo:
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 compatibles
| Formato | Extensión | Leer | Escribir |
|---|---|---|---|
| Documento de Photoshop | psd | ✓ | ✓ |
| Documento grande de Photoshop | psb | ✓ | ✓ |
Código abierto y licencias
Aspose.PSD FOSS para .NET tiene licencia MIT y puede usarse en productos comerciales sin regalías, sin marca de agua de evaluación ni límite de uso.
El paquete está en la versión 1.0.0 y requiere solo .NET 10.0 en tiempo de ejecución — no tiene otras dependencias de terceros.