Sections
Sections
Un PsdImage încărcat expune obiecte de rezumat numai în citire pentru secțiunile structurale ale unui document PSD/PSB — antetul, secțiunea de date de culoare, secțiunea de date de imagine și secțiunea de resurse de imagine — toate prin proprietăți tipizate, fără a necesita nicio analiză manuală la nivel de octet.
Inspectarea secțiunii de antet
PsdImage.header returnează un PsdHeader cu câmpurile structurale brute ale documentului. PsdHeader.version este versiunea brută a containerului PSD (1 pentru PSD, 2 pentru PSB) — aceasta este o proprietate diferită de PsdImage.version nelegat, care este un număr de versiune API fix, nu o valoare de format de fișier.
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}")Inspectarea secțiunii de date de culoare
PsdImage.color_data_info returnează un rezumat PsdColorDataInfo; kind este o valoare PsdColorDataKind (NONE, INDEXED_PALETTE, RGB_PAYLOAD, CMYK_PAYLOAD sau 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}")Inspectarea secțiunii de date de imagine
PsdImage.image_data_info returnează un rezumat PsdImageDataInfo care descrie cum sunt codate datele pixel îmbinate; image.compression raportează aceeași codare printr-un enum CompressionMethod separat.
data_info = image.image_data_info
print(f"Compression: {image.compression}, data kind: {data_info.kind}")
print(f"Uses prediction: {data_info.uses_prediction}")Inspectarea secțiunii de resurse imagine
PsdImage.resources, resource_count, și has_image_resources expune conținutul secțiunii de resurse de imagini. Vezi Resources pentru resursele complete API.
print(f"Resource count: {image.resource_count}")Sfaturi și bune practici
PsdHeaderși rezumatele secțiunilor aferente (PsdColorDataInfo,ColorData,PsdImageDataInfo) sunt toate numai în citire în această versiune FOSS — nu există setteri publici pentru nicio proprietate a lor.- Nu confundați
PsdHeader.version(versiunea reală a containerului PSD/PSB) cuPsdImage.version(un număr de versiune API fix, fără legătură, care este întotdeauna6). - Verificați
image.has_color_mode_dataînainte de a citicolor_data_info— un document fără date despre modul de culoare returnează totuși un obiect rezumat, dar câmpurile sale pot să nu fie semnificative.
Probleme comune
| Problemă | Cauză | Remediere |
|---|---|---|
header.color_mode nu se potrivește cu image.color_mode | PsdHeader.color_mode este câmpul integer brut din fișier; PsdImage.color_mode este enum-ul ColorModes puternic tipizat construit din el | Folosește image.color_mode pentru o valoare tipizată; folosește header.color_mode numai dacă ai nevoie de numărul întreg brut |
color_data_info.indexed_palette este None | Tipul de date de culoare al documentului nu este INDEXED_PALETTE | Doar documentele cu culori indexate conțin o paletă — verifică mai întâi color_data_info.kind |
FAQ
Pot modifica direct secțiunile de antet, date de culoare sau date de imagine?
Nu — PsdHeader, PsdColorDataInfo, ColorData și PsdImageDataInfo sunt toate obiecte de rezumat numai pentru citire în această versiune FOSS.
Care este diferența dintre image.compression și image.image_data_info.kind?
Ele descriu aceeași codificare de bază prin două enumerări separate: image.compression returnează o valoare CompressionMethod, în timp ce image.image_data_info.kind returnează o valoare ImageDataKind.
API Reference Rezumat
| Clasă/Metodă | Descriere: |
|---|---|
PsdImage.header | Rezumatul antetului documentului (PsdHeader) |
PsdImage.color_data_info / parsed_color_data | Rezumat secțiune date de culoare (PsdColorDataInfo / ColorData) |
PsdImage.image_data_info / image_data_kind / compression | Rezumat secțiune date imagine |
PsdImage.resources / resource_count / has_image_resources | Rezumat secțiune resurse imagine |