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 — це строго типізований 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 | Огляд розділу ресурсів зображень |