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.Image.Load(filePath) o Image.Load(stream) abre un archivo y devuelve un Image, convertido a PsdImage para acceso específico de PSDPsdImage.Width, Height y Size informan las dimensiones del lienzoPsdImage.ColorMode (ColorModes), BitsPerChannel y Compression (CompressionMethod) describen cómo se codifican los datos de píxelesPsdImage.Version (PsdVersion) diferencia el PSD estándar de la variante PSB de documento grandePsdImage.Layers devuelve cada Layer en orden del documento; PsdImage.ActiveLayer indica cuál está activoLayer 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 profundaLayer.ChannelsCount indica cuántos canales de imagen lleva una capaLayer.Name, Layer.Left/Top/Right/Bottom y Layer.BlendModeKey pueden establecerse directamentePsdImage.Save(filePath) o PsdImage.Save(stream) persiste el documento modificado en el discoImage.Load confirma que las ediciones se completan correctamente en ida y vueltaNotSupportedException si se establecen — esta compilación admite solo ediciones de metadatos, no una reautoría completaPsdImage.ImageResources y GlobalLayerResources exponen colecciones ResourceBlock/LayerResourcePsdImage.GlobalLayerMaskInfo informa la información de máscara de capa a nivel de documentoPsdImage.IsFlatten y HasTransparencyData informan banderas a nivel del documentoPsdLoadException y PsdSaveException exponen errores de carga/guardado con mensajes clarosCargue 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}");
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}");
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
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.
Consulte la sección de instalación anterior para el comando de instalación actual.
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.
PsdImage (una subclase de Image). Cargue un documento con PsdImage.Load, luego lea su colección Layers y las propiedades de encabezado.
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.