PsdImage e
Layer, offrendo agli sviluppatori Python un accesso programmatico alla struttura di un documento PSD senza dipendenze native da compilare. La libreria legge le dimensioni, la modalità colore, la profondità di bit e il metodo di compressione di un file PSD/PSB, ed espone ogni livello tramite PsdImage.layers: ogni Layer riporta il suo nome,
i confini, l’opacità, la visibilità e la chiave della modalità di fusione (BlendMode), insieme alle informazioni di canale di livello inferiore (ChannelInformation) e ai dati della maschera (LayerMaskData). Un sottoinsieme dei
metadati del livello — nome, confini (left/top/right/bottom), e modalità di fusione — può essere
modificato in loco e salvato nuovamente su disco con PsdImage.save(); tutto il resto sulla
superficie è in sola lettura per progettazione in questa build FOSS. Aspose.PSD FOSS for Python è distribuito con licenza MIT. Installalo con
pip install aspose-psd-foss — la libreria non ha dipendenze native di terze parti,
solo la libreria standard Python. Per la famiglia di prodotti enterprise, vedi Aspose.PSD — Enterprise Product Family.Image.load(file_path) apre un file e restituisce un’istanza PsdImagePsdImage.width, height e channels_count segnalano le dimensioni della tela e il conteggio dei canaliPsdImage.layers restituisce l’elenco completo degli oggetti Layer nell’ordine del documentoPsdImage.layers restituisce ogni Layer nell’ordine del documento; ogni Layer espone name, bounds, opacity, is_visible e blend_mode_keyLayer.channel_information espone i metadati del canale per un’ispezione più approfonditaLayer.channels_count indica quanti canali immagine trasporta un layerPsdImage.layers stesso può essere riassegnato per rimuovere o riordinare i layerLayer.name, Layer.left/top/right/bottom e Layer.blend_mode_key possono essere impostati direttamentePsdImage.save(file_path) salva il documento modificato su discoPsdImage.load conferma che le modifiche vengano correttamente ripristinateNotSupportedException se impostate — questa build supporta modifiche solo ai metadati, non la riscrittura completaLayer.channel_information espone collezioni di metadati per canaleLayer.has_mask_data e has_blending_ranges_data segnalano se le sezioni opzionali sono presentiPsdLoadException e PsdSaveException espongono errori di caricamento/salvataggio con messaggi chiariCarica un file con Image.load per ottenere un’istanza PsdImage per i membri specifici di 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)}")
I limiti del livello e la modalità di fusione possono essere modificati in loco e salvati nuovamente su disco.
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}")
Le informazioni del canale possono essere lette ma non riassegnate — provare a impostarle genera 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 è rilasciato con licenza MIT. È possibile usarlo, modificarlo e ridistribuirlo secondo i termini della licenza MIT, anche in prodotti commerciali.
Vedi la sezione di installazione sopra per il comando di installazione corrente.
Carica e salva file PSD e PSB (documenti di grandi dimensioni di Photoshop). Non rende né esporta i dati pixel in altri formati raster come PNG o JPEG.
PsdImage (una sottoclasse di Image). Carica un documento con PsdImage.load, quindi leggi la sua collezione layers e le proprietà dell’intestazione.
Sì — Layer espone un setter funzionante per diverse proprietà, come visibilità e nome, e PsdImage.layers stesso ha un setter funzionante per sostituire la collezione. Alcune proprietà specifiche (informazioni sul canale, dati della maschera, intervalli di fusione e alcune risorse a livello di documento) sono di sola lettura in questa build FOSS e generano NotSupportedException se impostate.