Nucleo API

API principale

PsdImage è il punto di ingresso per caricare, ispezionare e salvare documenti PSD/PSB. Estende la classe base astratta Image, che dichiara solo load() — il resto della superficie del documento (width, height, save(), supporto al context-manager) è definito direttamente su PsdImage, non ereditato.


Caricamento e salvataggio dei documenti

Image.load() accetta un percorso file o uno stream e restituisce un Image; per input PSD/PSB questo è sempre un PsdImage, quindi la superficie del documento è immediatamente disponibile senza un cast esplicito. PsdImage supporta anche l’istruzione with per la pulizia automatica, e PsdImage.save() scrive il documento nuovamente su un percorso file o stream.

from aspose_psd_foss.psdimage import PsdImage

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

Proprietà dell’intestazione del documento

PsdImage espone l’intestazione analizzata come proprietà tipizzate: width, height, bits_per_channel, color_mode, version, compression, size e 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}")

Risorse immagine

PsdImage.image_resources restituisce l’elenco analizzato di oggetti ResourceBlock. In questa build FOSS, image_resources, global_layer_resources, active_layer e has_transparency_data possono essere letti ma non riassegnati — i loro setter sollevano NotSupportedException.

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

Suggerimenti e migliori pratiche

  • Image.load() restituisce già un PsdImage per input PSD/PSB — non è necessario il cast, a differenza di alcune altre porte di questo library in altri linguaggi.
  • Usa l’istruzione with; PsdImage supporta il protocollo context-manager per la pulizia.
  • Considera image_resources, global_layer_resources, active_layer e has_transparency_data come di sola lettura anche se espongono un setter.
  • Verifica image.layer_count prima di indicizzare image.layers — un documento appiattito può avere zero livelli.

Problemi comuni

ProblemaCausaCorrezione
NotSupportedException quando si imposta image_resourcesQuesta proprietà è di sola lettura nella build FOSS nonostante abbia un setterLeggi il valore; non tentare di riassegnarlo
Lista image.layers vuota su un documento appiattitois_flatten è True e il documento non ha livelli analizzatiVerifica image.layer_count (o image.is_flatten) prima di indicizzare in image.layers

FAQ

Il caricamento di un documento PSD decodifica i dati pixel?

No. PsdImage.load() analizza l’intestazione del documento, i metadati dei livelli e le risorse senza decodificare o renderizzare i dati pixel.

Posso convertire un file PSD in un altro formato immagine?

No. Questa libreria carica, ispeziona e salva solo documenti PSD/PSB — non renderizza i dati pixel né converte in altri formati immagine.


API Reference Riepilogo

Classe/MetodoDescrizione
Image.load(path) / Image.load(stream)Carica un documento PSD o PSB
PsdImage.save(path) / PsdImage.save(stream)Salva il documento
PsdImage.width / height / bits_per_channel / color_mode / version / compression / size / is_flattenProprietà dell’intestazione del documento
PsdImage.image_resourcesBlocchi di risorse immagine analizzati (sola lettura)

Vedi anche

 Italiano