Noyau API

API principale

PsdImage est le point d’entrée pour charger, inspecter et enregistrer les documents PSD/PSB. Il étend la classe de base abstraite Image, qui ne déclare que load() — le reste de la surface du document (width, height, save(), prise en charge du gestionnaire de contexte) est défini sur PsdImage lui-même, et non hérité.


Chargement et enregistrement des documents

Image.load() accepte un chemin de fichier ou un flux et renvoie un Image; pour une entrée PSD/PSB, il s’agit toujours d’un PsdImage, de sorte que la surface du document est immédiatement disponible sans conversion explicite. PsdImage prend également en charge l’instruction with pour le nettoyage automatique, et PsdImage.save() écrit le document de nouveau vers un chemin de fichier ou un flux.

from aspose_psd_foss.psdimage import PsdImage

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

Propriétés d’en-tête du document

PsdImage expose l’en-tête analysé sous forme de propriétés typées: width, height, bits_per_channel, color_mode, version, compression, size et 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}")

Ressources d’image

PsdImage.image_resources renvoie la liste analysée d’objets ResourceBlock. Dans cette version FOSS, image_resources, global_layer_resources, active_layer et has_transparency_data peuvent être lus mais pas réassignés — leurs mutateurs lèvent NotSupportedException.

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

Conseils et meilleures pratiques

  • Image.load() renvoie déjà un PsdImage pour une entrée PSD/PSB — aucun cast n’est nécessaire, contrairement à certains autres ports de langage de cette bibliothèque.
  • Utilisez l’instruction with; PsdImage prend en charge le protocole de gestionnaire de contexte pour le nettoyage.
  • Considérez image_resources, global_layer_resources, active_layer et has_transparency_data comme en lecture seule même s’ils exposent un setter.
  • Vérifiez image.layer_count avant d’indexer image.layers — un document aplati peut ne contenir aucune couche.

Problèmes courants

ProblèmeCauseCorrection
NotSupportedException lors de la définition de image_resourcesCette propriété est en lecture seule dans la version FOSS malgré la présence d’un setterLisez la valeur ; n’essayez pas de la réassigner
Liste image.layers vide sur un document aplatiis_flatten est True et le document n’a aucune couche analyséeVérifiez image.layer_count (ou image.is_flatten) avant d’indexer dans image.layers

FAQ

Le chargement d’un document PSD décode-t-il les données de pixels?

Non. PsdImage.load() analyse l’en-tête du document, les métadonnées des calques et les ressources sans décoder ni rendre les données de pixels.

Puis-je convertir un fichier PSD en un autre format d’image?

Non. Cette bibliothèque charge, examine et enregistre uniquement les documents PSD/PSB — elle ne rend pas les données de pixels ni ne convertit vers d’autres formats d’image.


API Reference Résumé

Classe/MéthodeDescription
Image.load(path) / Image.load(stream)Charge un document PSD ou PSB
PsdImage.save(path) / PsdImage.save(stream)Enregistre le document
PsdImage.width / height / bits_per_channel / color_mode / version / compression / size / is_flattenPropriétés d’en-tête du document
PsdImage.image_resourcesBlocs de ressources d’image analysés (lecture seule)

Voir aussi

 Français