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 — це строго типізований ColorModes enum, створений на його основіВикористовуйте 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?

Вони описують одне й те саме базове кодування за допомогою двох окремих enum-ів: 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Огляд розділу ресурсів зображень

Дивіться також

 Українська