PsdImage и
Layer, давая Python разработчикам программный доступ к структуре PSD-документа без
нативных зависимостей для компиляции. Библиотека читает размеры файла PSD/PSB, цветовой режим, глубину цвета и метод сжатия,
и раскрывает каждый слой через PsdImage.layers: каждый Layer сообщает своё имя,
границы, непрозрачность, видимость и ключ режима наложения (BlendMode), а также низкоуровневую
информацию о каналах (ChannelInformation) и данные маски (LayerMaskData). Подмножество
метаданных слоя — имя, границы (left/top/right/bottom) и режим наложения — можно
изменять на месте и сохранять обратно на диск с помощью PsdImage.save(); всё остальное
на поверхности доступно только для чтения по замыслу в этой FOSS-версии. Aspose.PSD FOSS for Python лицензирована по MIT. Установите её с помощью
pip install aspose-psd-foss — у библиотеки нет сторонних нативных
зависимостей, используется только стандартная библиотека Python. Для корпоративного семейства продуктов см. Aspose.PSD — Enterprise Product Family.Image.load(file_path) открывает файл и возвращает экземпляр PsdImagePsdImage.width, height и channels_count сообщают размеры холста и количество каналовPsdImage.layers возвращает полный список объектов Layer в порядке документаPsdImage.layers возвращает каждый Layer в порядке следования в документе; каждый Layer раскрывает name, bounds, opacity, is_visible и blend_mode_keyLayer.channel_information раскрывает метаданные каналов для более глубокого анализаLayer.channels_count сообщает, сколько каналов изображения содержит слойPsdImage.layers можно переназначить, чтобы удалить или переупорядочить слоиLayer.name, Layer.left/top/right/bottom и Layer.blend_mode_key можно установить напрямуюPsdImage.save(file_path) сохраняет изменённый документ обратно на дискPsdImage.load подтверждает корректность кругового прохождения правокNotSupportedException, если их попытаться установить — эта сборка поддерживает только редактирование метаданных, а не полное переавторствоLayer.channel_information предоставляет коллекции метаданных для каждого каналаLayer.has_mask_data и has_blending_ranges_data сообщают, присутствуют ли необязательные секцииPsdLoadException и PsdSaveException выводят ошибки загрузки/сохранения с понятными сообщениямиЗагрузите файл с помощью Image.load, чтобы получить экземпляр PsdImage для PSD-специфичных членов.
from aspose_psd_foss.image import Image
with Image.load("test.psd") as image:
print(f"Width: {image.width}, Channels: {image.channels_count}, Layers: {len(image.layers)}")
Границы слоев и режим наложения можно изменить на месте и сохранить обратно на диск.
from aspose_psd_foss.psdimage import PsdImage
from aspose_psd_foss.layers.blendmode import BlendMode
with PsdImage.load("test.psd") as image:
image.layers[0].left = 10
image.layers[0].top = 20
image.layers[0].right = 40
image.layers[0].bottom = 60
image.layers[0].blend_mode_key = BlendMode.MULTIPLY
image.save("edited.psd")
with PsdImage.load("edited.psd") as reloaded:
print(f"Bounds: {reloaded.layers[0].bounds}, BlendMode: {reloaded.layers[0].blend_mode_key}")
Информация о каналах может быть прочитана, но не переопределена — попытка установить её вызывает NotSupportedException.
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("test.psd") as image:
layer = image.layers[0]
channel_information = layer.channel_information
print(f"Channel count: {layer.channels_count}, first channel: `NotSupportedException`")
# layer.channel_information = channel_information # raises NotSupportedException
Aspose.PSD FOSS for Python лицензирована по лицензии MIT. Вы можете использовать, модифицировать и распространять её в соответствии с условиями лицензии MIT, в том числе в коммерческих продуктах.
Смотрите раздел установки выше, чтобы узнать текущую команду установки.
Он загружает и сохраняет файлы PSD и PSB (Photoshop large document). Он не рендерит и не экспортирует пиксельные данные в другие растровые форматы, такие как PNG или JPEG.
PsdImage (подкласс Image). Загрузите документ с помощью PsdImage.load, затем прочитайте его коллекцию layers и свойства заголовка.
Да — Layer предоставляет работающий сеттер для нескольких свойств, таких как видимость и имя, а у самого PsdImage.layers есть работающий сеттер для замены коллекции. Некоторые конкретные свойства (информация о каналах, данные маски, диапазоны смешивания и некоторые ресурсы уровня документа) являются только для чтения в этой FOSS-сборке и вызывают NotSupportedException, если попытаться их установить.