PsdImage a
Layer, která Python vývojářům poskytuje programový přístup ke struktuře PSD dokumentu bez
nativních závislostí při kompilaci. Knihovna načítá rozměry souboru PSD/PSB, barevný režim, hloubku bitů a metodu komprese
a zpřístupňuje každou vrstvu přes PsdImage.layers: každá Layer uvádí její název,
hranice, neprůhlednost, viditelnost a klíč režimu prolnutí (BlendMode), spolu s nízkoúrovňovými
informacemi o kanálech (ChannelInformation) a daty masky (LayerMaskData). Podmnožina
metadat vrstvy — název, hranice (left/top/right/bottom), a režim prolnutí — může být
upravená přímo a uložena zpět na disk pomocí PsdImage.save(); vše ostatní na
povrchu je z designu jen pro čtení v tomto FOSS buildu. Aspose.PSD FOSS for Python je licencována pod MIT. Nainstalujte ji pomocí
pip install aspose-psd-foss — knihovna nemá žádné třetí strany nativní
závislosti, pouze standardní knihovnu Python. Pro rodinu podnikových produktů viz Aspose.PSD — Enterprise Product Family.Image.load(file_path) otevře soubor a vrátí instanci PsdImagePsdImage.width, height a channels_count udávají rozměry plátna a počet kanálůPsdImage.layers vrací úplný seznam objektů Layer v pořadí dokumentuPsdImage.layers vrací každou Layer v pořadí dokumentu; každá Layer poskytuje name, bounds, opacity, is_visible a blend_mode_keyLayer.channel_information poskytuje metadata kanálů pro podrobnější inspekciLayer.channels_count uvádí, kolik obrazových kanálů vrstva nesePsdImage.layers lze samotné přiřadit nově pro odebrání nebo změnu pořadí vrstevLayer.name, Layer.left/top/right/bottom a Layer.blend_mode_key lze nastavit přímoPsdImage.save(file_path) uloží upravený dokument zpět na diskPsdImage.load potvrzuje, že úpravy proběhly správně obousměrněNotSupportedException — tato verze podporuje pouze úpravy metadat, nikoli úplné přepracováníLayer.channel_information vystavuje kolekce metadat pro každý kanálLayer.has_mask_data a has_blending_ranges_data hlásí, zda jsou přítomny volitelné sekcePsdLoadException a PsdSaveException zobrazují chyby načítání/ukládání s jasnými zprávamiNačtěte soubor pomocí Image.load, abyste získali instanci PsdImage pro členy specifické pro PSD.
from aspose_psd_foss.image import Image
with Image.load("test.psd") as image:
print(f"Width: {image.width}, Channels: {image.channels_count}, Layers: {len(image.layers)}")
Ohraničení vrstvy a režim prolnutí lze změnit přímo a uložit zpět na disk.
from aspose_psd_foss.psdimage import PsdImage
from aspose_psd_foss.layers.blendmode import BlendMode
with PsdImage.load("test.psd") as image:
image.layers[0].left = 10
image.layers[0].top = 20
image.layers[0].right = 40
image.layers[0].bottom = 60
image.layers[0].blend_mode_key = BlendMode.MULTIPLY
image.save("edited.psd")
with PsdImage.load("edited.psd") as reloaded:
print(f"Bounds: {reloaded.layers[0].bounds}, BlendMode: {reloaded.layers[0].blend_mode_key}")
Informace o kanálu lze číst, ale nelze je přiřadit — pokus o nastavení vyvolá NotSupportedException.
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("test.psd") as image:
layer = image.layers[0]
channel_information = layer.channel_information
print(f"Channel count: {layer.channels_count}, first channel: `NotSupportedException`")
# layer.channel_information = channel_information # raises NotSupportedException
Aspose.PSD FOSS for Python je licencován pod licencí MIT. Můžete jej používat, upravovat a redistribuovat podle podmínek licence MIT, včetně komerčních produktů.
Viz výše uvedená sekce instalace pro aktuální instalační příkaz.
Načítá a ukládá soubory PSD a PSB (Photoshop large document). Není určen k renderování ani exportu pixelových dat do jiných rastrových formátů, jako jsou PNG nebo JPEG.
PsdImage (podtřída Image). Načtěte dokument pomocí PsdImage.load, poté přečtěte jeho kolekci layers a vlastnosti hlavičky.
Ano — Layer poskytuje funkční setter pro několik vlastností, jako je viditelnost a název, a PsdImage.layers samotné má funkční setter pro nahrazení kolekce. Několik konkrétních vlastností (informace o kanálech, data masky, rozsahy míchání a některé zdroje na úrovni dokumentu) je v této FOSS verzi pouze ke čtení a při nastavení vyvolá NotSupportedException.