1. Productos
  2.   Aspose.PSD
  3.   Aspose.PSD FOSS for .NET

Aspose.PSD FOSS para .NET

Biblioteca de código abierto .NET para cargar, inspeccionar y guardar archivos PSD/PSB con acceso a metadatos de capas. Licencia MIT, no se requiere Adobe Photoshop.

Biblioteca .NET de código abierto para archivos PSD/PSB Files

Aspose.PSD FOSS for .NET es una biblioteca gratuita, con licencia MIT, pura C# para cargar, inspeccionar, y guardar archivos Adobe Photoshop PSD y PSB sin requerir Adobe Photoshop ni cualquier runtime propietario. Expone una API ligera y autónoma centrada en PsdImage y Layer, ofreciendo a los desarrolladores .NET acceso programático a la estructura de un documento PSD con sin dependencias nativas para compilar. La biblioteca lee las dimensiones, el modo de color, la profundidad de bits y el método de compresión de un archivo PSD/PSB, y expone cada capa a través de PsdImage.Layers: cada Layer informa su nombre, límites, opacidad, visibilidad y la clave del modo de fusión (BlendMode), junto con información de nivel inferior de canal (ChannelInformation) y datos de máscara (LayerMaskData). Un subconjunto de metadatos de capa — nombre, límites (Left/Top/Right/Bottom), y modo de fusión — puede modificarse in situ y guardarse de nuevo en disco con PsdImage.Save(); todo lo demás en la superficie es de solo lectura por diseño en esta compilación FOSS. Aspose.PSD FOSS for .NET tiene licencia MIT. Instálelo con dotnet add package Aspose.PSD.FOSS — la biblioteca no tiene dependencias nativas de terceros solo el .NET BCL. Para la familia de productos empresariales, vea Aspose.PSD — Enterprise Product Family.

Cargar e inspeccionar archivos PSD/PSB

  • Image.Load(filePath) o Image.Load(stream) abre un archivo y devuelve un Image, convertido a PsdImage para acceso específico de PSD
  • PsdImage.Width, Height y Size informan las dimensiones del lienzo
  • PsdImage.ColorMode (ColorModes), BitsPerChannel y Compression (CompressionMethod) describen cómo se codifican los datos de píxeles
  • PsdImage.Version (PsdVersion) diferencia el PSD estándar de la variante PSB de documento grande

Validar y catalogar archivos de diseño

  • Validar un lote de archivos de diseño antes de entregarlos a un proceso posterior
  • Construir un catálogo ligero de activos de dimensiones y modos de color de PSD/PSB
  • Detectar archivos PSB (documento grande) que requieren un manejo diferente al PSD estándar

Trabajar con capas

  • PsdImage.Layers devuelve cada Layer en orden del documento; PsdImage.ActiveLayer indica cuál está activo
  • Cada Layer expone Name, Bounds, Opacity, IsVisible y BlendModeKey (BlendMode)
  • Layer.ChannelInformation y Layer.LayerMaskData exponen metadatos de canales y máscaras para una inspección más profunda
  • Layer.ChannelsCount indica cuántos canales de imagen lleva una capa

Estructura de capa de auditoría

  • Auditar la estructura de capas de un PSD sin abrir Photoshop
  • Generar un informe de nombres de capas, visibilidad y modos de fusión para una revisión de diseño
  • Identificar capas ocultas o con opacidad cero que quedaron de ediciones anteriores

Editar Metadatos de Capa Básica

  • Layer.Name, Layer.Left/Top/Right/Bottom y Layer.BlendModeKey pueden establecerse directamente
  • PsdImage.Save(filePath) o PsdImage.Save(stream) persiste el documento modificado en el disco
  • Recargar un archivo guardado con Image.Load confirma que las ediciones se completan correctamente en ida y vuelta
  • Las propiedades no listadas arriba (información de canales, datos de máscara, rangos de fusión, recursos de imagen) generan NotSupportedException si se establecen — esta compilación admite solo ediciones de metadatos, no una reautoría completa

Ediciones ligeras, programables

  • Renombrar capas programáticamente como parte de una canalización automatizada de organización de archivos
  • Reposicionar o cambiar el tamaño del cuadro delimitador de una capa sin una herramienta de diseño
  • Actualizar por lotes los modos de fusión en muchos archivos para lograr consistencia

Inspeccionar bloques de recursos y estado del documento

  • PsdImage.ImageResources y GlobalLayerResources exponen colecciones ResourceBlock/LayerResource
  • PsdImage.GlobalLayerMaskInfo informa la información de máscara de capa a nivel de documento
  • PsdImage.IsFlatten y HasTransparencyData informan banderas a nivel del documento
  • PsdLoadException y PsdSaveException exponen errores de carga/guardado con mensajes claros

Diagnosticar e inspeccionar

  • Diagnosticar por qué un archivo PSD en particular falla al cargarse, con una excepción tipada en lugar de un error genérico
  • Verificar si un archivo se guardó en forma aplanada antes de procesarlo más
  • Inspeccionar bloques de recursos incrustados para metadatos a nivel de formato

Cargar un archivo PSD y examinar sus capas

Cargue un archivo con Image.Load y convierta el resultado a PsdImage para acceder a los miembros específicos de PSD.

using var image = (PsdImage)Image.Load("test.psd");
Console.WriteLine($"Width: {image.Width}, Channels: {image.ChannelsCount}, Layers: {image.Layers.Length}");
Layer layer = image.Layers[0];
Console.WriteLine($"Bounds: {layer.Bounds}, BlendMode: {layer.BlendModeKey}, Opacity: {layer.Opacity}, Visible: {layer.IsVisible}");

Editar metadatos de capa y guardar

El nombre de la capa, los límites y el modo de fusión pueden modificarse in situ y guardarse de nuevo en disco.

using (var image = (PsdImage)Image.Load("test.psd"))
{
    image.Layers[0].Name = "Renamed layer";
    image.Layers[0].Left = 10;
    image.Layers[0].Top = 20;
    image.Layers[0].Right = 40;
    image.Layers[0].Bottom = 60;
    image.Layers[0].BlendModeKey = BlendMode.Multiply;
    image.Save("edited.psd");
}

using var reloaded = (PsdImage)Image.Load("edited.psd");
Console.WriteLine($"Name: {reloaded.Layers[0].Name}, BlendMode: {reloaded.Layers[0].BlendModeKey}");

Leer información del canal (solo lectura)

La información del canal se puede leer pero no reasignar — intentar establecerla lanza NotSupportedException.

using var image = (PsdImage)Image.Load("test.psd");
Layer layer = image.Layers[0];
ChannelInformation[] channelInformation = layer.ChannelInformation;
Console.WriteLine($"Channel count: {layer.ChannelsCount}, First channel length: `NotSupportedException`");
// layer.ChannelInformation = channelInformation; // throws NotSupportedException

Preguntas frecuentes

¿Cuál es el modelo de licenciamiento?

Aspose.PSD FOSS for .NET tiene licencia MIT. Puedes usarlo, modificarlo y redistribuirlo bajo los términos de la licencia MIT, incluido en productos comerciales.

¿Cómo instalo Aspose.PSD FOSS for .NET?

Consulte la sección de instalación anterior para el comando de instalación actual.

¿Qué formatos puede Aspose.PSD FOSS for .NET leer y escribir?

Carga y guarda archivos PSD y PSB (documentos grandes de Photoshop). No renderiza ni exporta datos de píxeles a otros formatos raster como PNG o JPEG.

¿Qué es la clase principal de punto de entrada?

PsdImage (una subclase de Image). Cargue un documento con PsdImage.Load, luego lea su colección Layers y las propiedades de encabezado.

¿Puedo modificar los metadatos de la capa?

Sí — Layer expone un setter funcional para varias propiedades, como visibilidad y nombre, y PsdImage.Layers en sí mismo tiene un setter funcional para reemplazar la colección. Algunas propiedades específicas (información de canal, datos de máscara, rangos de fusión y algunos recursos a nivel de documento) son de solo lectura en esta compilación FOSS y lanzan NotSupportedException si se establecen.

  

Recursos de soporte y aprendizaje

 Español