Sections

Sections

Загруженный PsdImage предоставляет объекты только для чтения, содержащие резюме структурных разделов PSD/PSB документа — заголовок, раздел данных цвета, раздел данных изображения и раздел ресурсов изображения — всё через типизированные свойства, без необходимости ручного побайтного разбора.


Осмотр раздела заголовка

PsdImage.header возвращает PsdHeader с необработанными структурными полями документа. PsdHeader.version — это необработанная версия контейнера PSD (1 для PSD, 2 для PSB) — это другое свойство, не связанное с PsdImage.version, которое является фиксированным номером версии API, а не значением формата файла.

from aspose_psd_foss.psdimage import PsdImage

image = PsdImage.load(input_path)
header = image.header

print(f"Size: {header.width}x{header.height}, channels: {header.channels}")
print(f"Bit depth: {header.bit_depth}, raw container version: {header.version}")
print(f"Is PSB: {header.is_large_document}")

Осмотр раздела данных цвета

PsdImage.color_data_info возвращает резюме PsdColorDataInfo; kind — это значение PsdColorDataKind (NONE, INDEXED_PALETTE, RGB_PAYLOAD, CMYK_PAYLOAD или RAW_PRESERVED).

if image.has_color_mode_data:
    color_info = image.color_data_info
    print(f"Color data kind: {color_info.kind}, raw bytes: {color_info.raw_data_length}")

Осмотр раздела данных изображения

PsdImage.image_data_info возвращает PsdImageDataInfo сводку, описывающую, как объединённые пиксельные данные закодированы; image.compression сообщает то же кодирование через отдельный CompressionMethod enum.

data_info = image.image_data_info
print(f"Compression: {image.compression}, data kind: {data_info.kind}")
print(f"Uses prediction: {data_info.uses_prediction}")

Просмотр раздела ресурсов изображения

PsdImage.resources, resource_count, и has_image_resources отобразить содержимое раздела ресурсов изображения. См Resources для полного набора ресурсов API.

print(f"Resource count: {image.resource_count}")

Советы и лучшие практики

  • PsdHeader и связанные с ним сводки разделов (PsdColorDataInfo, ColorData, PsdImageDataInfo) являются только для чтения в этой сборке FOSS — публичных сеттеров для их свойств нет.
  • Не путайте PsdHeader.version (реальную версию контейнера PSD/PSB) с PsdImage.version (не связанным, фиксированным номером версии API, который всегда 6).
  • Проверьте image.has_color_mode_data перед чтением color_data_info — документ без данных цветового режима всё равно возвращает объект сводки, но его поля могут быть неинформативными.

Распространённые проблемы

ПроблемаПричинаИсправление
header.color_mode не соответствует image.color_modePsdHeader.color_mode — это необработанное целочисленное поле из файла; PsdImage.color_mode — это строго типизированный enum ColorModes, построенный на его основеИспользуйте image.color_mode для типизированного значения; используйте header.color_mode только если вам нужен необработанный целый тип
color_data_info.indexed_palette равно NoneТип цветовых данных документа не INDEXED_PALETTEТолько документы с индексированными цветами содержат палитру — проверьте color_data_info.kind сначала

FAQ

Могу ли я изменять заголовок, данные цвета или секции данных изображения напрямую?

Нет — PsdHeader, PsdColorDataInfo, ColorData и PsdImageDataInfo являются объектами-резюме только для чтения в этой сборке FOSS.

В чём разница между image.compression и image.image_data_info.kind?

Они описывают одно и то же базовое кодирование через два отдельных перечисления: image.compression возвращает значение CompressionMethod, а image.image_data_info.kind возвращает значение ImageDataKind.


API Reference Сводка

Класс/МетодОписание:
PsdImage.headerКраткое содержание заголовка документа (PsdHeader)
PsdImage.color_data_info / parsed_color_dataКраткое содержание раздела данных о цвете (PsdColorDataInfo / ColorData)
PsdImage.image_data_info / image_data_kind / compressionКраткое содержание раздела данных изображения
PsdImage.resources / resource_count / has_image_resourcesКраткое содержание раздела ресурсов изображения

См. также:

 Русский