Sections
Sections
Załadowany PsdImage udostępnia obiekty podsumowujące w trybie tylko do odczytu dla strukturalnych sekcji dokumentu PSD/PSB — nagłówek, sekcję danych kolorów, sekcję danych obrazu i sekcję zasobów obrazu — wszystko poprzez typowane właściwości, bez konieczności ręcznego parsowania na poziomie bajtów.
Inspekcja sekcji nagłówka
PsdImage.header zwraca PsdHeader z surowymi polami strukturalnymi dokumentu. PsdHeader.version jest surową wersją kontenera PSD (1 dla PSD, 2 dla PSB) — jest to inna właściwość niż niepowiązany PsdImage.version, który jest stałym numerem wersji API, a nie wartością formatu pliku.
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}")Inspekcja sekcji danych kolorów
PsdImage.color_data_info zwraca podsumowanie PsdColorDataInfo; kind jest wartością PsdColorDataKind (NONE, INDEXED_PALETTE, RGB_PAYLOAD, CMYK_PAYLOAD lub 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}")Inspekcja sekcji danych obrazu
PsdImage.image_data_info zwraca PsdImageDataInfo podsumowanie opisujące, jak połączone dane pikseli są kodowane; image.compression zgłasza to samo kodowanie poprzez oddzielny 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}")Inspekcja sekcji zasobów obrazu
PsdImage.resources, resource_count, i has_image_resources wyświetl zawartość sekcji zasobów obrazu. Zobacz Resources dla pełnych zasobów API.
print(f"Resource count: {image.resource_count}")Wskazówki i najlepsze praktyki
PsdHeaderi powiązane podsumowania sekcji (PsdColorDataInfo,ColorData,PsdImageDataInfo) są w tej wersji FOSS tylko do odczytu — nie ma publicznych setterów żadnej z ich właściwości.- Nie myl
PsdHeader.version(rzeczywistej wersji kontenera PSD/PSB) zPsdImage.version(niezwiązanym, stałym numerem wersji API, który zawsze jest6). - Sprawdź
image.has_color_mode_dataprzed odczytaniemcolor_data_info— dokument bez danych trybu kolorów nadal zwraca obiekt podsumowania, ale jego pola mogą nie mieć znaczenia.
Typowe problemy
| Problem | Przyczyna | Rozwiązanie |
|---|---|---|
header.color_mode nie pasuje do image.color_mode | PsdHeader.color_mode jest surowym polem całkowitoliczbowym z pliku; PsdImage.color_mode jest silnie typowaną wyliczeniową ColorModes zbudowaną na jego podstawie | Użyj image.color_mode dla wartości typowanej; użyj header.color_mode tylko jeśli potrzebujesz surowej liczby całkowitej |
color_data_info.indexed_palette to None | Typ danych kolorów dokumentu nie jest INDEXED_PALETTE | Tylko dokumenty indeksowane w kolorze mają paletę — najpierw sprawdź color_data_info.kind |
FAQ
Czy mogę modyfikować sekcje nagłówka, danych kolorów lub danych obrazu bezpośrednio?
Nie — PsdHeader, PsdColorDataInfo, ColorData i PsdImageDataInfo są wszystkimi obiektami podsumowania tylko do odczytu w tej wersji FOSS.
Jaka jest różnica między image.compression a image.image_data_info.kind?
Opisują to samo podstawowe kodowanie za pomocą dwóch oddzielnych wyliczeń: image.compression zwraca wartość CompressionMethod, podczas gdy image.image_data_info.kind zwraca wartość ImageDataKind.
API Reference Podsumowanie
| Klasa/Metoda | Opis |
|---|---|
PsdImage.header | Podsumowanie nagłówka dokumentu (PsdHeader) |
PsdImage.color_data_info / parsed_color_data | Podsumowanie sekcji danych kolorów (PsdColorDataInfo / ColorData) |
PsdImage.image_data_info / image_data_kind / compression | Podsumowanie sekcji danych obrazu |
PsdImage.resources / resource_count / has_image_resources | Podsumowanie sekcji zasobów obrazu |