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íPsdImagepro 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;PsdImagepodporuje protokol správce kontextu pro úklid. - Považujte
image_resources,global_layer_resources,active_layerahas_transparency_dataza pouze ke čtení, i když poskytují setter. - Zkontrolujte
image.layer_countpřed indexací doimage.layers— zploštělý dokument může mít nulové vrstvy.
Časté problémy
| Problém | Příčina | Oprava |
|---|---|---|
NotSupportedException při nastavování image_resources | Tato vlastnost je ve FOSS buildu pouze pro čtení, i když má setter | Přečtěte hodnotu; nepokoušejte se ji přiřadit znovu |
Prázdný seznam image.layers v zploštělém dokumentu | is_flatten je True a dokument nemá žádné parsované vrstvy | Zkontrolujte 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/Metoda | Popis: |
|---|---|
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_flatten | Vlastnosti hlavičky dokumentu |
PsdImage.image_resources | Zpracované bloky zdrojů obrázku (pouze pro čtení) |