Jádro API

Základní API

PsdImage je vstupní bod pro načítání, prohlížení a ukládání dokumentů PSD/PSB. Rozšiřuje abstraktní základní třídu Image, která deklaruje pouze load() — zbytek povrchu dokumentu (width, height, save(), podpora context-manageru) je definováno přímo v PsdImage, nikoli zděděno.


Načítání a ukládání dokumentů

Image.load() přijímá cestu k souboru nebo stream a vrací Image; pro vstup PSD/PSB je to vždy PsdImage, takže povrch dokumentu je okamžitě k dispozici bez explicitního přetypování. PsdImage také podporuje příkaz with pro automatické vyčištění a PsdImage.save() zapisuje dokument zpět na cestu k souboru nebo do streamu.

from aspose_psd_foss.psdimage import PsdImage

with PsdImage.load(input_path) as image:
    # ... inspect or edit ...
    image.save(output_path)

Vlastnosti hlavičky dokumentu

PsdImage vystavuje rozparsovanou hlavičku jako typované vlastnosti: width, height, bits_per_channel, color_mode, version, compression, size a is_flatten.

print(f"Width: {image.width}, Height: {image.height}")
print(f"ColorMode: {image.color_mode}, Version: {image.version}")
print(f"Compression: {image.compression}, IsFlatten: {image.is_flatten}")

Obrázkové zdroje

PsdImage.image_resources vrací rozparsovaný seznam objektů ResourceBlock. V tomto FOSS sestavení lze image_resources, global_layer_resources, active_layer a has_transparency_data číst, ale nelze jim přiřadit novou hodnotu — jejich settery vyvolají NotSupportedException.

for resource in image.image_resources:
    print(f"Resource {resource.id}: {resource.name} ({resource.data_size} bytes)")

Tipy a osvědčené postupy

  • Image.load() již vrací PsdImage pro PSD/PSB vstup — není potřeba žádná konverze, na rozdíl od některých jiných jazykových portů této knihovny.
  • Použijte výrok with; PsdImage podporuje protokol správce kontextu pro úklid.
  • Považujte image_resources, global_layer_resources, active_layer a has_transparency_data za pouze ke čtení, i když poskytují setter.
  • Zkontrolujte image.layer_count před indexací do image.layers — zploštělý dokument může mít nulové vrstvy.

Časté problémy

ProblémPříčinaOprava
NotSupportedException při nastavování image_resourcesTato vlastnost je ve FOSS buildu pouze pro čtení, i když má setterPřečtěte hodnotu; nepokoušejte se ji přiřadit znovu
Prázdný seznam image.layers v zploštělém dokumentuis_flatten je True a dokument nemá žádné parsované vrstvyZkontrolujte image.layer_count (nebo image.is_flatten) před indexací do image.layers

FAQ

Načítání PSD dokumentu dekóduje pixelová data?

Ne. PsdImage.load() parsuje hlavičku dokumentu, metadata vrstev a zdroje, aniž by dekódoval nebo renderoval pixelová data.

Mohu převést soubor PSD do jiného formátu obrázku?

Ne. Tato knihovna načítá, kontroluje a ukládá pouze dokumenty PSD/PSB — neprovádí renderování pixelových dat ani konverzi do jiných formátů obrázků.


API Reference Shrnutí

Třída/MetodaPopis:
Image.load(path) / Image.load(stream)Načte dokument PSD nebo PSB
PsdImage.save(path) / PsdImage.save(stream)Uloží dokument
PsdImage.width / height / bits_per_channel / color_mode / version / compression / size / is_flattenVlastnosti hlavičky dokumentu
PsdImage.image_resourcesZpracované bloky zdrojů obrázku (pouze pro čtení)

Viz také:

 Čeština