Sections
Sections
Un PsdImage chargé expose des objets de résumé en lecture seule pour les sections structurelles d’un document PSD/PSB — l’en-tête, la section des données de couleur, la section des données d’image et la section des ressources d’image — le tout via des propriétés typées, sans nécessiter d’analyse manuelle au niveau des octets.
Inspection de la section d’en-tête
PsdImage.header renvoie un PsdHeader contenant les champs structurels bruts du document. PsdHeader.version est la version brute du conteneur PSD (1 pour PSD, 2 pour PSB) — il s’agit d’une propriété différente de PsdImage.version, qui est un numéro de version API fixe, et non une valeur de format de fichier.
from aspose_psd_foss.psdimage import PsdImage
image = PsdImage.load(input_path)
header = image.header
print(f"Size: {header.width}x{header.height}, channels: {header.channels}")
print(f"Bit depth: {header.bit_depth}, raw container version: {header.version}")
print(f"Is PSB: {header.is_large_document}")Inspection de la section des données de couleur
PsdImage.color_data_info renvoie un résumé PsdColorDataInfo ; kind est une valeur PsdColorDataKind (NONE, INDEXED_PALETTE, RGB_PAYLOAD, CMYK_PAYLOAD ou RAW_PRESERVED).
if image.has_color_mode_data:
color_info = image.color_data_info
print(f"Color data kind: {color_info.kind}, raw bytes: {color_info.raw_data_length}")Inspection de la section des données d’image
PsdImage.image_data_info renvoie un résumé PsdImageDataInfo décrivant comment les données de pixels fusionnées sont encodées ; image.compression indique le même encodage via une énumération CompressionMethod distincte.
data_info = image.image_data_info
print(f"Compression: {image.compression}, data kind: {data_info.kind}")
print(f"Uses prediction: {data_info.uses_prediction}")Inspection de la section des ressources d’image
PsdImage.resources, resource_count, et has_image_resources affiche le contenu de la section des ressources d’image. Voir Resources pour les ressources complètes API.
print(f"Resource count: {image.resource_count}")Conseils et meilleures pratiques
PsdHeaderet ses résumés de sections associés (PsdColorDataInfo,ColorData,PsdImageDataInfo) sont tous en lecture seule dans cette version FOSS — il n’existe aucun setter public sur aucune de leurs propriétés.- Ne confondez pas
PsdHeader.version(la véritable version du conteneur PSD/PSB) avecPsdImage.version(un numéro de version API fixe et sans rapport qui est toujours6). - Vérifiez
image.has_color_mode_dataavant de lirecolor_data_info— un document sans données de mode couleur renvoie toujours un objet résumé, mais ses champs peuvent ne pas être significatifs.
Problèmes courants
| Problème | Cause | Correction |
|---|---|---|
header.color_mode ne correspond pas à image.color_mode | PsdHeader.color_mode est le champ entier brut du fichier; PsdImage.color_mode est l’énumération fortement typée ColorModes construite à partir de celui-ci | Utilisez image.color_mode pour une valeur typée ; utilisez header.color_mode uniquement si vous avez besoin de l’entier brut |
color_data_info.indexed_palette est None | Le type de données couleur du document n’est pas INDEXED_PALETTE | Seuls les documents à couleur indexée possèdent une palette — vérifiez color_data_info.kind d’abord |
FAQ
Puis-je modifier directement les sections d’en-tête, de données de couleur ou de données d’image?
Non — PsdHeader, PsdColorDataInfo, ColorData et PsdImageDataInfo sont tous des objets de synthèse en lecture seule dans cette version FOSS.
Quelle est la différence entre image.compression et image.image_data_info.kind?
Ils décrivent le même encodage sous-jacent à l’aide de deux énumérations distinctes: image.compression renvoie une valeur CompressionMethod, tandis que image.image_data_info.kind renvoie une valeur ImageDataKind.
API Reference Résumé
| Classe/Méthode | Description |
|---|---|
PsdImage.header | Résumé de l’en-tête du document (PsdHeader) |
PsdImage.color_data_info / parsed_color_data | Résumé de la section des données de couleur (PsdColorDataInfo / ColorData) |
PsdImage.image_data_info / image_data_kind / compression | Résumé de la section des données d’image |
PsdImage.resources / resource_count / has_image_resources | Résumé de la section des ressources d’image |