PsdImage și
Layer, oferind dezvoltatorilor Python acces programatic la structura unui document PSD fără
dependențe native de compilare. Biblioteca citește dimensiunile, modul de culoare, adâncimea de biți și compresia
metodă, și expune fiecare strat prin PsdImage.layers: fiecare Layer raportează numele său,
limitele, opacitatea, vizibilitatea și cheia modului de amestecare (BlendMode), împreună cu nivelul inferior
informații de canal (ChannelInformation) și datele măștii (LayerMaskData). Un subset de
metadatele stratului — nume, limite (left/top/right/bottom), și modul de amestecare — pot fi
modificate la față locului și persistate înapoi pe disc cu PsdImage.save(); tot cealaltă pe
suprafață este doar în citire prin design în această construcție FOSS. Aspose.PSD FOSS for Python este licențiată sub MIT. Instalați-l cu
pip install aspose-psd-foss — biblioteca nu are dependențe native de terță parte
dependențe, doar biblioteca standard Python. Pentru familia de produse enterprise, vedeți Aspose.PSD — Enterprise Product Family.Image.load(file_path) deschide un fișier și returnează o instanță PsdImagePsdImage.width, height și channels_count raportează dimensiunile canvasului și numărul de canalePsdImage.layers returnează lista completă de obiecte Layer în ordinea documentuluiPsdImage.layers returnă fiecare Layer în ordine de document; fiecare Layer expune name, bounds, opacity, is_visible și blend_mode_keyLayer.channel_information expune metadatele canalului pentru o inspecție mai detaliatăLayer.channels_count raportează câte canale de imagine conține un stratPsdImage.layers în sine poate fi reasignat pentru a elimina sau reordona straturileLayer.name, Layer.left/top/right/bottom, și Layer.blend_mode_key pot fi setate directPsdImage.save(file_path) păstrează documentul modificat înapoi pe discPsdImage.load confirmă că modificările trec corect prin procesul round-tripNotSupportedException dacă sunt setate — această versiune suportă editări doar de metadate, nu reautorarea completăLayer.channel_information expune colecții de metadate pe canalLayer.has_mask_data și has_blending_ranges_data raportează dacă secțiunile opționale sunt prezentePsdLoadException și PsdSaveException afișează erori de încărcare/salvare cu mesaje clareÎncărcați un fișier cu Image.load pentru a obține o instanță PsdImage pentru membrii specifici 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)}")
Limitele stratului și modul de amestecare pot fi modificate în loc și salvate înapoi pe disc.
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}")
Informațiile despre canal pot fi citite, dar nu pot fi reasignate — încercarea de a le seta generează 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 este licențiat sub MIT. Poți să îl folosești, să îl modifici și să îl redistribui în conformitate cu termenii licenței MIT, inclusiv în produse comerciale.
Consultați secțiunea de instalare de mai sus pentru comanda curentă de instalare.
Încarcă și salvează fișiere PSD și PSB (documente mari Photoshop). Nu redă sau exportă datele pixel către alte formate raster, cum ar fi PNG sau JPEG.
PsdImage (o subclasă a Image). Încarcă un document cu PsdImage.load, apoi citește colecția layers și proprietățile antetului.
Da — Layer expune un setter funcțional pentru mai multe proprietăţi, cum ar fi vizibilitatea şi numele, şi PsdImage.layers în sine are un setter funcțional pentru înlocuirea colecţiei. Câteva proprietăţi specifice (informaţii de canal, date de mască, game de amestecare şi unele resurse la nivel de document) sunt doar pentru citire în această construcţie FOSS şi ridică NotSupportedException dacă sunt setate.