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 buildusing 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
| Formaat | Extensie | Lezen | Schrijven |
|---|---|---|---|
| Photoshop-document | psd | ✓ | ✓ |
| Photoshop groot document | psb | ✓ | ✓ |
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.