PsdImage and
Layer, giving .NET developers programmatic access to a PSD document’s structure with no
native dependencies to compile. The library reads a PSD/PSB file’s dimensions, color mode, bit depth, and compression
method, and exposes every layer through PsdImage.Layers: each Layer reports its name,
bounds, opacity, visibility, and blend mode key (BlendMode), along with lower-level
channel information (ChannelInformation) and mask data (LayerMaskData). A subset of
layer metadata — name, bounds (Left/Top/Right/Bottom), and blend mode — can be
modified in place and persisted back to disk with PsdImage.Save(); everything else on the
surface is read-only by design in this FOSS build. Aspose.PSD FOSS for .NET is MIT licensed. Install it with
dotnet add package Aspose.PSD.FOSS — the library has zero third-party native
dependencies, only the .NET BCL. For the enterprise product family, see Aspose.PSD — Enterprise Product Family.Image.Load(filePath) of Image.Load(stream) opent een bestand en retourneert een Image, gecast naar PsdImage voor PSD-specifieke toegangPsdImage.Width, Height en Size geven de afmetingen van het canvas weerPsdImage.ColorMode (ColorModes), BitsPerChannel en Compression (CompressionMethod) beschrijven hoe de pixelgegevens gecodeerd zijnPsdImage.Version (PsdVersion) onderscheidt standaard PSD van de grote-document PSB-variantPsdImage.Layers retourneert elke Layer in documentvolgorde; PsdImage.ActiveLayer geeft aan welke actief isLayer geeft Name, Bounds, Opacity, IsVisible en BlendModeKey (BlendMode) weerLayer.ChannelInformation en Layer.LayerMaskData geven kanaal- en maskermetadata weer voor diepere inspectieLayer.ChannelsCount meldt hoeveel afbeeldingskanalen een laag bevatLayer.Name, Layer.Left/Top/Right/Bottom, en Layer.BlendModeKey kunnen direct worden ingesteldPsdImage.Save(filePath) of PsdImage.Save(stream) slaat het gewijzigde document weer op naar schijfImage.Load bevestigt dat de bewerkingen correct round-trip verlopenNotSupportedException als ze worden ingesteld — deze build ondersteunt alleen bewerkingen op metadata, niet volledige herbewerkingPsdImage.ImageResources en GlobalLayerResources exposeren ResourceBlock/LayerResource collectiesPsdImage.GlobalLayerMaskInfo rapporteert documentbrede laagmaskerinformatiePsdImage.IsFlatten en HasTransparencyData rapporteren documentniveau vlaggenPsdLoadException en PsdSaveException brengen laad-/opslaffouten naar voren met duidelijke berichtenLaad een bestand met Image.Load en cast het resultaat naar PsdImage voor PSD-specifieke leden.
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}");
Laagnaam, grenzen en mengmodus kunnen ter plaatse worden gewijzigd en terug naar de schijf worden opgeslagen.
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}");
Kanaalinformatie kan worden gelezen maar niet opnieuw toegewezen — proberen om het in te stellen veroorzaakt 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 is gelicentieerd onder de MIT-licentie. Je kunt het gebruiken, aanpassen en distribueren onder de voorwaarden van de MIT-licentie, ook in commerciële producten.
Zie de installatiesectie hierboven voor het huidige installcommando.
Het laadt en slaat PSD- en PSB-bestanden (Photoshop large document) op. Het rendert of exporteert geen pixelgegevens naar andere rasterformaten zoals PNG of JPEG.
PsdImage (een subklasse van Image). Laad een document met PsdImage.Load, lees vervolgens de Layers-collectie en de headereigenschappen.
Ja — Layer biedt een werkende setter voor verschillende eigenschappen, zoals zichtbaarheid en naam, en PsdImage.Layers zelf heeft een werkende setter voor het vervangen van de collectie. Een paar specifieke eigenschappen (kanaalinformatie, maskergegevens, mengbereiken en sommige document-niveau bronnen) zijn alleen-lees in deze FOSS-build en werpen een NotSupportedException als ze worden ingesteld.