Núcleo API

API principal

PsdImage es el punto de entrada para cargar, inspeccionar y guardar documentos PSD/PSB. Extiende la clase base abstracta Image, que declara Width, Height, Bounds, Load(), Save() y Dispose().


Cargar y Guardar Documentos

Image.Load() acepta una ruta de archivo o un Stream y devuelve un Image; realice un cast del resultado a PsdImage para acceder al resto de la superficie del documento. PsdImage.Save() escribe el documento de nuevo en una ruta de archivo o flujo.

using var image = (PsdImage)Image.Load(inputPath);
// ... inspect or edit ...
image.Save(outputPath);

Propiedades del Encabezado del Documento

PsdImage expone el encabezado analizado como propiedades tipadas: Width, Height, BitsPerChannel, ColorMode, Version, Compression, Size y IsFlatten.

Console.WriteLine($"Width: {image.Width}, Height: {image.Height}");
Console.WriteLine($"ColorMode: {image.ColorMode}, Version: {image.Version}");
Console.WriteLine($"Compression: {image.Compression}, IsFlatten: {image.IsFlatten}");

Recursos de Imagen

PsdImage.ImageResources devuelve la matriz ResourceBlock[] analizada. En esta compilación FOSS, ImageResources, GlobalLayerResources, ActiveLayer y HasTransparencyData pueden leerse pero no reasignarse — sus setters lanzan NotSupportedException.

foreach (ResourceBlock resource in image.ImageResources)
{
    Console.WriteLine($"Resource {resource.ID}: {resource.Name} ({resource.DataSize} bytes)");
}

Consejos y mejores prácticas

  • Siempre convierta el resultado de Image.Load() a PsdImage para acceder a los miembros específicos de PSD.
  • Envuelva los objetos compatibles con Dispose() en una sentencia using; PsdImage implementa IDisposable.
  • Trate ImageResources, GlobalLayerResources, ActiveLayer y HasTransparencyData como de solo lectura, aunque expongan un setter.
  • Verifique image.Layers.Length antes de indexar image.Layers — un documento aplanado puede tener cero capas.

Problemas comunes

ProblemaCausaSolución
NotSupportedException al establecer ImageResourcesEsta propiedad es de solo lectura en la compilación FOSS a pesar de tener un setterLea el valor; no intente reasignarlo
Matriz image.Layers vacía en un documento aplanadoIsFlatten es true y el documento no tiene capas analizadasCompruebe image.Layers.Length (o image.IsFlatten) antes de indexar en image.Layers

FAQ

¿Cargar un documento PSD decodifica los datos de píxeles?

No. PsdImage.Load() analiza el encabezado del documento, los metadatos de capa y los recursos sin decodificar ni renderizar datos de píxeles.

¿Puedo convertir un archivo PSD a otro formato de imagen?

No. Esta biblioteca carga, inspecciona y guarda únicamente documentos PSD/PSB — no renderiza datos de píxeles ni convierte a otros formatos de imagen.


Resumen de API Reference

Clase/MétodoDescripción
Image.Load(string) / Image.Load(Stream)Carga un documento PSD o PSB
PsdImage.Save(string) / PsdImage.Save(Stream)Guarda el documento
PsdImage.Width / Height / BitsPerChannel / ColorMode / Version / Compression / Size / IsFlattenPropiedades del encabezado del documento
PsdImage.ImageResourcesBloques de recursos de imagen analizados (solo lectura)

Ver también

 Español