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

Podporované formáty

FormátPříponaČístZapsat
Dokument Photoshopupsd✓✓
Velký dokument Photoshopupsb✓✓

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.


Začínáme

Související zdroje