Úvod
Aspose.PSD FOSS pro .NET je nová open-source knihovna pro práci se soubory PSD a PSB (Photoshop large document) z .NET kódu. Je vydána pod licencí MIT, vyžaduje pouze .NET 10.0 za běhu a nemá žádné další závislosti třetích stran. Balíček se importuje pomocí using Aspose.PSD.FOSS;.
Knihovna je organizována kolem třídy PsdImage, která rozšiřuje abstraktní základní třídu Image, a třídy Layer. Image.Load() / PsdImage.Load() načtou dokument z cesty k souboru nebo proudu, zpřístupňují informace hlavičky (Width, Height, ColorMode, Version, Compression) a analyzovanou kolekci Layers; PsdImage.Save() zapíše dokument zpět do souboru nebo proudu. Každý Layer zpřístupňuje svá metadata — Name, Bounds, IsVisible, Opacity, Clipping, BlendModeKey a informace o kanálech/maskách — a podmnožinu těchto vlastností lze měnit přímo a uložit zpět do souboru.
Toto vydání je určeno vývojářům, kteří potřebují prohlížet nebo provádět omezené úpravy metadat v souborech PSD/PSB v rámci kódu .NET bez komerční licence — nástroje asset-pipeline, které reportují strukturu vrstev, skripty pro sestavení, které přejmenují nebo přepnou viditelnost vrstev před předáním, nebo testovací fixture, které potřebují číst hlavičku PSD a data vrstev bez plnohodnotného renderovacího enginu. Knihovna nevykresluje pixelová data ani nepřevádí PSD/PSB do jiných formátů obrázků — jedná se o čtečku/zapisovač zaměřený na metadata pro kontejnerový formát PSD/PSB.
Co je zahrnuto
Inspekce dokumentu
PsdImage.Load() analyzuje hlavičku souboru PSD nebo PSB do typovaných vlastností — Width, Height, BitsPerChannel, ColorMode, Version, Compression, Size a IsFlatten — aniž by dekódoval pixelová data.
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}");
Metadata vrstvy
Každý záznam v PsdImage.Layers je Layer, který vystavuje své vlastní hranice, viditelnost, průhlednost, oříznutí a metadata režimu prolnutí.
foreach (var layer in image.Layers)
{
Console.WriteLine($"{layer.Name}: {layer.Bounds}, Visible={layer.IsVisible}, Opacity={layer.Opacity}");
}
Podporované úpravy metadat
Podmnožina vlastností vrstvy může být změněna přímo a zapsána zpět pomocí PsdImage.Save(): název, viditelnost, průhlednost, oříznutí, klíč režimu prolnutí a čtyři hrany hranic.
Layer layer = image.Layers[0];
layer.Name = $"{layer.Name} (edited)";
layer.IsVisible = !layer.IsVisible;
layer.Opacity = 128;
layer.BlendModeKey = BlendMode.Multiply;
image.Save(outputPath);
Rychlý start
Nainstalujte balíček, poté načtěte soubor PSD nebo PSB, prohlédněte si jeho vrstvy a uložte jej zpět:
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");
Podporované formáty
| Formát | Přípona | Číst | Zapsat |
|---|---|---|---|
| Dokument Photoshopu | psd | ✓ | ✓ |
| Velký dokument Photoshopu | psb | ✓ | ✓ |
Open Source a licencování
Aspose.PSD FOSS pro .NET je licencována pod MIT a může být použita v komerčních produktech bez poplatků, bez zkušebního vodoznaku nebo omezení používání.
Balíček je ve verzi 1.0.0 a vyžaduje pouze .NET 10.0 za běhu — nemá žádné další závislosti třetích stran.