Wprowadzenie

Aspose.PSD FOSS for .NET jest nową otwarto-źródłową biblioteką do pracy z plikami PSD i PSB (Photoshop large document) z kodu .NET. Jest udostępniona na licencji MIT, wymaga jedynie .NET 10.0 w czasie wykonywania i nie ma innych zależności zewnętrznych. Pakiet importuje się przy użyciu using Aspose.PSD.FOSS;.

Biblioteka jest zorganizowana wokół klasy PsdImage, która dziedziczy po abstrakcyjnej klasie bazowej Image, oraz klasy Layer. Image.Load() / PsdImage.Load() ładują dokument z ścieżki pliku lub strumienia, udostępniając informacje nagłówka (Width, Height, ColorMode, Version, Compression) oraz sparsowaną kolekcję Layers; PsdImage.Save() zapisuje dokument z powrotem do pliku lub strumienia. Każdy Layer udostępnia własne metadane — Name, Bounds, IsVisible, Opacity, Clipping, BlendModeKey oraz informacje o kanałach/maskach — i podzbiór tych właściwości może być zmieniony w miejscu i zapisany z powrotem do pliku.

To wydanie jest przeznaczone dla deweloperów, którzy muszą przeglądać lub wprowadzać ograniczone edycje metadanych w plikach PSD/PSB w ramach kodu .NET bez komercyjnej licencji — narzędzia pipeline zasobów, które raportują strukturę warstw, skrypty budujące, które zmieniają nazwy lub przełączają widoczność warstw przed przekazaniem, lub fixture’y testowe, które muszą odczytać nagłówek PSD i dane warstw bez pełnego silnika renderującego. Biblioteka nie renderuje danych pikseli ani nie konwertuje PSD/PSB do innych formatów obrazu — jest czytnikiem/zapisem skoncentrowanym na metadanych dla formatu kontenera PSD/PSB.


Co jest w zestawie

Inspekcja dokumentu

PsdImage.Load() parsuje nagłówek pliku PSD lub PSB do typowanych właściwości — Width, Height, BitsPerChannel, ColorMode, Version, Compression, Size i IsFlatten — bez dekodowania danych pikseli.

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

Metadane warstwy

Każdy wpis w PsdImage.Layers jest Layer ujawniającym własne granice, widoczność, krycie, przycinanie i metadane blend-mode.

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

Obsługiwane edycje metadanych

Podzbiór właściwości warstwy może być zmieniony w miejscu i zapisany ponownie przy użyciu PsdImage.Save(): nazwa, widoczność, krycie, przycinanie, klucz blend mode oraz cztery krawędzie granic.

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

Szybki start

Zainstaluj pakiet, a następnie wczytaj plik PSD lub PSB, przejrzyj jego warstwy i zapisz go ponownie:

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

Obsługiwane formaty

FormatRozszerzenieOdczytZapis
Dokument Photoshoppsd✓✓
Duży dokument Photoshoppsb✓✓

Open Source i licencjonowanie

Aspose.PSD FOSS dla .NET jest licencjonowany na licencji MIT i może być używany w produktach komercyjnych bez opłat licencyjnych, bez znaku wodnego wersji ewaluacyjnej ani limitu użytkowania.

Pakiet jest w wersji 1.0.0 i wymaga tylko .NET 10.0 w czasie działania — nie ma innych zależności zewnętrznych.


Rozpoczęcie

Powiązane zasoby