Вступ
Aspose.PSD FOSS for .NET — це нова бібліотека з відкритим кодом для роботи з файлами PSD та PSB (Photoshop large document) з коду .NET. Вона випущена під ліцензією MIT, вимагає лише .NET 10.0 під час виконання і не має інших сторонніх залежностей. Пакет імпортується за допомогою using Aspose.PSD.FOSS;.
Бібліотека організована навколо класу PsdImage, який успадковує абстрактний базовий клас Image, а також класу Layer. Image.Load() / PsdImage.Load() завантажують документ з шляху до файлу або потоку, надаючи інформацію заголовка (Width, Height, ColorMode, Version, Compression) та розпарсовану колекцію Layers; PsdImage.Save() записує документ назад у файл або потік. Кожен Layer розкриває власні метадані — Name, Bounds, IsVisible, Opacity, Clipping, BlendModeKey та інформацію про канали/маски — і підмножина цих властивостей може бути змінена на місці та збережена назад у файл.
Цей випуск призначений для розробників, які потребують перевіряти або вносити обмежені метадані до файлів PSD/PSB у кодовій базі .NET без комерційної ліцензії — інструменти конвеєра активів, що звітують про структуру шарів, скрипти збірки, які перейменовують або перемикають видимість шарів перед передачою, або тестові фікстури, що потребують читання заголовка PSD та даних шарів без повного рушія рендерингу. Бібліотека не виконує рендеринг піксельних даних і не конвертує PSD/PSB в інші формати зображень — це читач/записувач, орієнтований на метадані, для контейнерного формату PSD/PSB.
Що включено
Перевірка документа
PsdImage.Load() розбирає заголовок файлу PSD або PSB у типізовані властивості — Width, Height, BitsPerChannel, ColorMode, Version, Compression, Size та IsFlatten — без декодування піксельних даних.
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}");
Метадані шару
Кожен запис у PsdImage.Layers є Layer, який розкриває власні межі, видимість, непрозорість, відсіч і метадані blend-mode.
foreach (var layer in image.Layers)
{
Console.WriteLine($"{layer.Name}: {layer.Bounds}, Visible={layer.IsVisible}, Opacity={layer.Opacity}");
}
Підтримувані зміни метаданих
Підмножина властивостей шару може бути змінена безпосередньо та записана назад за допомогою PsdImage.Save(): назва, видимість, непрозорість, відсіч, ключ blend mode та чотири межі.
Layer layer = image.Layers[0];
layer.Name = $"{layer.Name} (edited)";
layer.IsVisible = !layer.IsVisible;
layer.Opacity = 128;
layer.BlendModeKey = BlendMode.Multiply;
image.Save(outputPath);
Швидкий старт
Встановіть пакет, потім завантажте файл PSD або PSB, перегляньте його шари та збережіть його назад:
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");
Підтримувані формати
| Формат | Розширення | Читати | Запис |
|---|---|---|---|
| Документ Photoshop | psd | ✓ | ✓ |
| Великий документ Photoshop | psb | ✓ | ✓ |
Відкритий код та ліцензування
Aspose.PSD FOSS for .NET має ліцензію MIT і може використовуватись у комерційних продуктах без роялті, без водяного знака оцінки та без обмежень використання.
Пакет має версію 1.0.0 і вимагає лише .NET 10.0 під час виконання — інших сторонніх залежностей немає.