Einleitung
Aspose.PSD FOSS für .NET ist eine neue Open-Source-Bibliothek zum Arbeiten mit PSD- und PSB-Dateien (Photoshop Large Document) aus .NET-Code. Sie wird unter der MIT-Lizenz veröffentlicht, erfordert zur Laufzeit nur .NET10.0 und hat keine weiteren Drittanbieter-Abhängigkeiten. Das Paket wird mit using Aspose.PSD.FOSS; importiert.
Die Bibliothek ist um die Klasse PsdImage herum organisiert, die die abstrakte Basisklasse Image erweitert, sowie um die Klasse Layer. Image.Load() / PsdImage.Load() laden ein Dokument aus einem Dateipfad oder einem Stream und stellen Header-Informationen (Width, Height, ColorMode, Version, Compression) sowie die geparste Layers-Sammlung bereit; PsdImage.Save() schreibt das Dokument zurück in eine Datei oder einen Stream. Jeder Layer gibt seine eigenen Metadaten – Name, Bounds, IsVisible, Opacity, Clipping, BlendModeKey und Kanal/Masken-Informationen – frei und ein Teil dieser Eigenschaften kann in-Place geändert und wieder in die Datei gespeichert werden.
Dieses Release richtet sich an Entwickler, die PSD/PSB-Dateien innerhalb eines .NET-Codebases ohne kommerzielle Lizenz inspizieren oder nur eingeschränkte Metadaten-Änderungen vornehmen müssen – Werkzeuge der Asset-Pipeline, die die Ebenenstruktur melden, Build-Skripte, die Ebenen umbenennen oder deren Sichtbarkeit vor der Übergabe umschalten, oder Test-Fixtures, die PSD-Header- und Ebenendaten lesen müssen, ohne eine vollständige Rendering-Engine. Die Bibliothek rendert keine Pixeldaten und konvertiert PSD/PSB nicht in andere Bildformate – sie ist ein auf Metadaten fokussierter Reader/Writer für das Container-Format PSD/PSB.
Im Lieferumfang enthalten
Dokumentinspektion
PsdImage.Load() analysiert den Header einer PSD- oder PSB-Datei in typisierte Eigenschaften – Width, Height, BitsPerChannel, ColorMode, Version, Compression, Size und IsFlatten – ohne Pixeldaten zu dekodieren.
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}");
Ebenen-Metadaten
Jeder Eintrag in PsdImage.Layers ist ein Layer, das seine eigenen Grenzen, Sichtbarkeit, Deckkraft, Clipping und Blend-Mode-Metadaten offenlegt.
foreach (var layer in image.Layers)
{
Console.WriteLine($"{layer.Name}: {layer.Bounds}, Visible={layer.IsVisible}, Opacity={layer.Opacity}");
}
Unterstützte Metadatenbearbeitungen
Ein Teil der Ebeneneigenschaften kann vor Ort geändert und mit PsdImage.Save() zurückgeschrieben werden: Name, Sichtbarkeit, Deckkraft, Clipping, Blend-Mode-Schlüssel und die vier Begrenzungskanten.
Layer layer = image.Layers[0];
layer.Name = $"{layer.Name} (edited)";
layer.IsVisible = !layer.IsVisible;
layer.Opacity = 128;
layer.BlendModeKey = BlendMode.Multiply;
image.Save(outputPath);
Schnellstart
Installieren Sie das Paket, dann laden Sie eine PSD- oder PSB-Datei, prüfen Sie deren Ebenen und speichern Sie sie wieder ab:
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");
Unterstützte Formate
| Format | Erweiterung | Lesen | Schreiben |
|---|---|---|---|
| Photoshop-Dokument | psd | ✓ | ✓ |
| Photoshop Large Document | psb | ✓ | ✓ |
Open Source & Lizenzierung
Aspose.PSD FOSS für .NET ist MIT-lizenziert und darf in kommerziellen Produkten ohne Lizenzgebühren verwendet werden, ohne Evaluationswasserzeichen oder Nutzungslimit.
Das Paket ist in Version 1.0.0 und erfordert zur Laufzeit nur .NET 10.0 — es hat keine weiteren Drittanbieterabhängigkeiten.