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) a PsdImage.version-tel (egy nem kapcsolódó, rögzített API verziószámmal, amely mindig 6).
  • Ellenőrizd a image.has_color_mode_data-t, mielőtt a color_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émaOkJavítás
header.color_mode nem egyezik image.color_modePsdHeader.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 NoneA dokumentum színadat típusa nem INDEXED_PALETTECsak 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ódszerLeírás
PsdImage.headerDokumentumfejléc összefoglaló (PsdHeader)
PsdImage.color_data_info / parsed_color_dataSzínadat szakasz összefoglaló (PsdColorDataInfo / ColorData)
PsdImage.image_data_info / image_data_kind / compressionKépadat szakasz összefoglaló
PsdImage.resources / resource_count / has_image_resourcesKépforrások szakasz összefoglaló

Lásd még:

 Magyar