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 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");

Formatos compatibles

FormatoExtensiónLeerEscribir
Documento de Photoshoppsd✓✓
Documento grande de Photoshoppsb✓✓

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.


Primeros pasos

Recursos relacionados