Introductie

Aspose.PSD FOSS voor .NET is een nieuwe open-source bibliotheek voor het werken met PSD- en PSB-bestanden (Photoshop large document) vanuit .NET-code. Het wordt uitgebracht onder de MIT-licentie, vereist alleen .NET 10.0 tijdens runtime, en heeft geen andere externe afhankelijkheden. Het pakket wordt geïmporteerd met using Aspose.PSD.FOSS;.

De bibliotheek is georganiseerd rond de klasse PsdImage, die de abstracte basisklasse Image uitbreidt, en de klasse Layer. Image.Load() / PsdImage.Load() laden een document vanaf een bestandspad of een stream, en geven headerinformatie weer (Width, Height, ColorMode, Version, Compression) en de geparseerde Layers-collectie; PsdImage.Save() schrijft het document terug naar een bestand of stream. Elke Layer exposeert zijn eigen metadata — Name, Bounds, IsVisible, Opacity, Clipping, BlendModeKey, en kanaal-/maskerinformatie — en een deel van deze eigenschappen kan ter plekke worden gewijzigd en terug naar het bestand worden opgeslagen.

Deze release is bedoeld voor ontwikkelaars die PSD/PSB-bestanden in een .NET-codebase moeten inspecteren of beperkte metadata-bewerkingen moeten uitvoeren zonder een commerciële licentie — asset-pipeline-hulpmiddelen die rapporteren over de laagstructuur, buildscripts die lagen hernoemen of de zichtbaarheid van lagen toggelen vóór overdracht, of test-fixtures die de PSD-header en laaggegevens moeten lezen zonder een volledige renderengine. De bibliotheek rendert geen pixeldata en converteert PSD/PSB niet naar andere afbeeldingsformaten — het is een metadata-gerichte lezer/schrijver voor het PSD/PSB-containerformaat.


Wat er inbegrepen is

Documentinspectie

PsdImage.Load() parseert de header van een PSD- of PSB-bestand naar getypeerde eigenschappen — Width, Height, BitsPerChannel, ColorMode, Version, Compression, Size en IsFlatten — zonder pixeldata te decoderen.

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

Laagmetadata

Elke invoer in PsdImage.Layers is een Layer die zijn eigen grenzen, zichtbaarheid, opacity, clipping en blend-mode metadata onthult.

foreach (var layer in image.Layers)
{
    Console.WriteLine($"{layer.Name}: {layer.Bounds}, Visible={layer.IsVisible}, Opacity={layer.Opacity}");
}

Ondersteunde metadata-bewerkingen

Een subset van laag-eigenschappen kan ter plekke worden gewijzigd en teruggeschreven met PsdImage.Save(): naam, zichtbaarheid, opacity, clipping, blend mode-sleutel en de vier randkanten.

Layer layer = image.Layers[0];
layer.Name = $"{layer.Name} (edited)";
layer.IsVisible = !layer.IsVisible;
layer.Opacity = 128;
layer.BlendModeKey = BlendMode.Multiply;
image.Save(outputPath);

Snelstart

Installeer het pakket, laad vervolgens een PSD- of PSB-bestand, inspecteer de lagen, en sla het weer op:

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

Ondersteunde formaten

FormaatExtensieLezenSchrijven
Photoshop-documentpsd✓✓
Photoshop groot documentpsb✓✓

Open Source & Licenties

Aspose.PSD FOSS voor .NET is MIT-gelicentieerd en mag worden gebruikt in commerciële producten zonder royalty’s, zonder evaluatiewatermerk of gebruikslimiet.

Het pakket is op versie 1.0.0 en vereist alleen .NET 10.0 tijdens runtime — het heeft geen andere externe afhankelijkheden.


Aan de slag

Gerelateerde bronnen