1. Продукти
  2.   Aspose.PSD
  3.   Aspose.PSD FOSS for .NET

Aspose.PSD FOSS для .NET

Бібліотека з відкритим кодом .NET для завантаження, перегляду та збереження файлів PSD/PSB з доступом до метаданих шарів. Ліцензія MIT, Adobe Photoshop не потрібен.

Open-Source .NET бібліотека для файлів PSD/PSB

Aspose.PSD FOSS for .NET — це безкоштовна бібліотека з ліцензією MIT, чиста C# для завантаження, інспекції, та збереження файлів Adobe Photoshop PSD і PSB без вимоги Adobe Photoshop або будь-якого пропрієтарного середовища виконання. Вона надає легковагову, автономну API, орієнтовану на PsdImage і Layer, даючи .NET розробникам програмний доступ до структури документа PSD без нативних залежностей для компіляції. Бібліотека читає розміри файлу PSD/PSB, колірний режим, глибину бітів і метод стиснення, і відкриває кожен шар через PsdImage.Layers: кожен Layer повідомляє його назву, границі, прозорість, видимість і ключ режиму змішування (BlendMode), а також низькорівневу інформацію про канали (ChannelInformation) і дані маски (LayerMaskData). Підмножина метаданих шару — назва, границі (Left/Top/Right/Bottom) і режим змішування — може бути змінена на місці та збережена назад на диск за допомогою PsdImage.Save(); все інше на поверхні є лише для читання за задумом у цій FOSS-версії. Aspose.PSD FOSS for .NET має ліцензію MIT. Встановіть її за dotnet add package Aspose.PSD.FOSS — бібліотека не має сторонніх нативних залежностей, лише .NET BCL. Для корпоративного сімейства продуктів дивіться Aspose.PSD — Enterprise Product Family.

Завантажити та переглянути файли PSD/PSB

  • Image.Load(filePath) або Image.Load(stream) відкриває файл і повертає Image, приведений до PsdImage для доступу до специфічних властивостей PSD
  • PsdImage.Width, Height і Size повідомляють розміри полотна
  • PsdImage.ColorMode (ColorModes), BitsPerChannel і Compression (CompressionMethod) описують, як закодовані дані пікселів
  • PsdImage.Version (PsdVersion) розрізняє стандартний PSD від великого варіанту документа PSB

Перевірка та каталогізація файлів дизайну

  • Перевірити пакет файлів дизайну перед передачею їх у нижчестоящий процес
  • Створити легкий каталог ресурсів з розмірами та колірними режимами PSD/PSB
  • Виявити файли PSB (великі документи), які потребують іншого оброблення, ніж стандартні PSD

Працювати з шарами

  • PsdImage.Layers повертає кожен Layer у порядку документа; PsdImage.ActiveLayer повідомляє, який з них активний
  • Кожен Layer надає Name, Bounds, Opacity, IsVisible та BlendModeKey (BlendMode)
  • Layer.ChannelInformation та Layer.LayerMaskData надають метадані каналів і маски для глибшого аналізу
  • Layer.ChannelsCount повідомляє, скільки каналів зображення несе шар

Структура шару аудиту

  • Перевірити структуру шарів PSD без відкриття Photoshop
  • Сформувати звіт про назви шарів, їх видимість і режими змішування для огляду дизайну
  • Виявити приховані або шари з нульовою непрозорістю, що залишилися після попередніх правок

Редагувати базові метадані шару

  • Layer.Name, Layer.Left/Top/Right/Bottom та Layer.BlendModeKey можна встановлювати безпосередньо
  • PsdImage.Save(filePath) або PsdImage.Save(stream) зберігає змінений документ назад на диск
  • Перезавантаження збереженого файлу за допомогою Image.Load підтверджує, що зміни успішно проходять повний цикл
  • Властивості, які не зазначені вище (інформація про канали, дані маски, діапазони змішування, ресурси зображення), викликають NotSupportedException, якщо їх встановлювати — ця збірка підтримує лише редагування метаданих, а не повне перестворення

Легковагові, скриптові правки

  • Перейменовувати шари програмно в рамках автоматизованого конвеєра організації файлів
  • Переміщати або змінювати розмір обмежувальної рамки шару без використання інструменту дизайну
  • Пакетно оновлювати режими змішування у багатьох файлах для забезпечення послідовності

Перегляньте блоки ресурсів і стан документа

  • PsdImage.ImageResources і GlobalLayerResources надають колекції ResourceBlock/LayerResource
  • PsdImage.GlobalLayerMaskInfo повідомляє про інформацію про маску шарів у всьому документі
  • PsdImage.IsFlatten та HasTransparencyData повідомляють про прапорці на рівні документа
  • PsdLoadException і PsdSaveException виводять помилки завантаження/збереження з чіткими повідомленнями

Діагностувати та інспектувати

  • Діагностувати, чому конкретний файл PSD не завантажується, з використанням типізованого виключення замість загальної помилки
  • Перевірити, чи файл був збережений у сплощеній формі перед подальшою обробкою
  • Перевірити вбудовані блоки ресурсів на предмет метаданих рівня формату

Завантажте файл PSD і проаналізуйте його шари

Завантажте файл за допомогою Image.Load та приведiть результат до PsdImage для PSD-специфічних членiв.

using var image = (PsdImage)Image.Load("test.psd");
Console.WriteLine($"Width: {image.Width}, Channels: {image.ChannelsCount}, Layers: {image.Layers.Length}");
Layer layer = image.Layers[0];
Console.WriteLine($"Bounds: {layer.Bounds}, BlendMode: {layer.BlendModeKey}, Opacity: {layer.Opacity}, Visible: {layer.IsVisible}");

Редагувати метадані шару та зберегти

Назву шару, межі та режим змішування можна змінити на місці та зберегти назад на диск.

using (var image = (PsdImage)Image.Load("test.psd"))
{
    image.Layers[0].Name = "Renamed layer";
    image.Layers[0].Left = 10;
    image.Layers[0].Top = 20;
    image.Layers[0].Right = 40;
    image.Layers[0].Bottom = 60;
    image.Layers[0].BlendModeKey = BlendMode.Multiply;
    image.Save("edited.psd");
}

using var reloaded = (PsdImage)Image.Load("edited.psd");
Console.WriteLine($"Name: {reloaded.Layers[0].Name}, BlendMode: {reloaded.Layers[0].BlendModeKey}");

Читати інформацію каналу (Тільки для читання)

Інформацію про канали можна читати, але не можна повторно призначати — спроба встановити її викликає NotSupportedException.

using var image = (PsdImage)Image.Load("test.psd");
Layer layer = image.Layers[0];
ChannelInformation[] channelInformation = layer.ChannelInformation;
Console.WriteLine($"Channel count: {layer.ChannelsCount}, First channel length: `NotSupportedException`");
// layer.ChannelInformation = channelInformation; // throws NotSupportedException

Часті Питання

Яка модель ліцензування?

Aspose.PSD FOSS for .NET ліцензовано за умовами MIT. Ви можете використовувати, змінювати та розповсюджувати його згідно з умовами ліцензії MIT, включно з комерційними продуктами.

Як встановити Aspose.PSD FOSS for .NET?

Перегляньте розділ встановлення вище, щоб дізнатися поточну команду встановлення.

Які формати може Aspose.PSD FOSS for .NET читати та записувати?

Він завантажує та зберігає файли PSD і PSB (Photoshop large document). Він не виконує рендеринг або експорт піксельних даних у інші растрові формати, такі як PNG або JPEG.

Який клас є основною точкою входу?

PsdImage (підклас Image). Завантажте документ за допомогою PsdImage.Load, потім прочитайте його колекцію Layers та властивості заголовка.

Чи можу я змінювати метадані шару?

Так — Layer надає працюючий встановлювач для кількох властивостей, таких як видимість і ім’я, і PsdImage.Layers сам має працюючий встановлювач для заміни колекції. Декілька конкретних властивостей (інформація про канали, дані маски, діапазони змішування та деякі ресурси рівня документа) є лише для читання у цій FOSS збірці та генерують NotSupportedException, якщо їх встановити.

  

Ресурси Підтримки та Навчання

 Українська