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_mode | PsdHeader.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 | Краткое содержание раздела ресурсов изображения |