Sections
Sections
Egy betöltött PsdImage csak olvasható összefoglaló objektumokat tesz elérhetővé a PSD/PSB dokumentum szerkezeti szakaszaihoz — a fejléc, a színadat-szakasz, a képadat-szakasz és a kép erőforrások szakasza — mind típusos tulajdonságokon keresztül, anélkül, hogy manuális bájtszintű elemzésre lenne szükség.
A fejléc szakaszának vizsgálata
PsdImage.header egy PsdHeader objektumot ad vissza a dokumentum nyers szerkezeti mezőivel. PsdHeader.version a nyers PSD tároló verziója (1 a PSD-hez, 2 a PSB-hez) — ez egy másik tulajdonság, mint a nem kapcsolódó PsdImage.version, amely egy rögzített API verziószám, nem fájlformátum érték.
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}")A színadat szakaszának vizsgálata
PsdImage.color_data_info egy PsdColorDataInfo összefoglalót ad vissza; kind egy PsdColorDataKind érték (NONE, INDEXED_PALETTE, RGB_PAYLOAD, CMYK_PAYLOAD vagy 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}")A képadat szakaszának vizsgálata
PsdImage.image_data_info visszaad egy PsdImageDataInfo összefoglalót, amely leírja, hogyan van kódolva az egyesített pixel adat; image.compression ugyanazt a kódolást jelenti egy külön CompressionMethod enumon keresztül.
data_info = image.image_data_info
print(f"Compression: {image.compression}, data kind: {data_info.kind}")
print(f"Uses prediction: {data_info.uses_prediction}")A kép erőforrások szekciójának vizsgálata
PsdImage.resources, resource_count, és has_image_resources mutassa a kép erőforrás szakasz tartalmát. Lásd Resources a teljes erőforrások API.
print(f"Resource count: {image.resource_count}")Tippek és bevált gyakorlatok
PsdHeaderés kapcsolódó szakasz összefoglalói (PsdColorDataInfo,ColorData,PsdImageDataInfo) mind csak olvashatóak ebben a FOSS verzióban — nincs nyilvános setter a tulajdonságaik egyikén sem.- Ne keverd össze a
PsdHeader.version-t (az igazi PSD/PSB konténer verziót) aPsdImage.version-tel (egy nem kapcsolódó, rögzített API verziószámmal, amely mindig6). - Ellenőrizd a
image.has_color_mode_data-t, mielőtt acolor_data_info-t olvasod — egy színmód adat nélküli dokumentum is visszaad egy összefoglaló objektumot, de annak mezői lehetnek értelmetlenek.
Gyakori problémák
| Probléma | Ok | Javítás |
|---|---|---|
header.color_mode nem egyezik image.color_mode | PsdHeader.color_mode a fájlból származó nyers egész mező; PsdImage.color_mode a belőle épített erősen típusos ColorModes felsoroló | Használja a(z) image.color_mode típussal ellátott értéket; csak akkor használja a(z) header.color_mode értéket, ha a nyers egész számra van szükség |
color_data_info.indexed_palette van None | A dokumentum színadat típusa nem INDEXED_PALETTE | Csak az indexelt színű dokumentumok tartalmaznak palettát — először ellenőrizze a(z) color_data_info.kind értéket |
FAQ
Módosíthatom közvetlenül a fejléc, a színadat vagy a képadat szakaszait?
Nem — PsdHeader, PsdColorDataInfo, ColorData és PsdImageDataInfo mind olvasásvédett összegző objektumok ebben a FOSS kiadásban.
Mi a különbség a image.compression és a image.image_data_info.kind között?
Ugyanazt az alapvető kódolást írják le két különálló felsorolással: a image.compression egy CompressionMethod értéket ad vissza, míg a image.image_data_info.kind egy ImageDataKind értéket ad vissza.
API Reference összegzés
| Osztály/Módszer | Leírás |
|---|---|
PsdImage.header | Dokumentumfejléc összefoglaló (PsdHeader) |
PsdImage.color_data_info / parsed_color_data | Színadat szakasz összefoglaló (PsdColorDataInfo / ColorData) |
PsdImage.image_data_info / image_data_kind / compression | Képadat szakasz összefoglaló |
PsdImage.resources / resource_count / has_image_resources | Képforrások szakasz összefoglaló |