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 déclare Width, Height, Bounds, Load(), Save() et Dispose().


Chargement et enregistrement des documents

Image.Load() accepte un chemin de fichier ou un Stream et renvoie un Image; convertissez le résultat en PsdImage pour accéder au reste de la surface du document. PsdImage.Save() écrit le document de nouveau vers un chemin de fichier ou un flux.

using var image = (PsdImage)Image.Load(inputPath);
// ... inspect or edit ...
image.Save(outputPath);

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, BitsPerChannel, ColorMode, Version, Compression, Size et IsFlatten.

Console.WriteLine($"Width: {image.Width}, Height: {image.Height}");
Console.WriteLine($"ColorMode: {image.ColorMode}, Version: {image.Version}");
Console.WriteLine($"Compression: {image.Compression}, IsFlatten: {image.IsFlatten}");

Ressources d’images

PsdImage.ImageResources renvoie le tableau ResourceBlock[] analysé. Dans cette version FOSS, ImageResources, GlobalLayerResources, ActiveLayer et HasTransparencyData peuvent être lus mais pas réaffectés— leurs mutateurs lèvent NotSupportedException.

foreach (ResourceBlock resource in image.ImageResources)
{
    Console.WriteLine($"Resource {resource.ID}: {resource.Name} ({resource.DataSize} bytes)");
}

Conseils et bonnes pratiques

  • Toujours caster le résultat de Image.Load() en PsdImage pour accéder aux membres spécifiques à PSD.
  • Enveloppez les objets dignes de Dispose() dans une instruction using; PsdImage implémente IDisposable.
  • Considérez ImageResources, GlobalLayerResources, ActiveLayer et HasTransparencyData comme en lecture seule même s’ils exposent un mutateur.
  • Vérifiez image.Layers.Length 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 ImageResourcesCette 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
Tableau image.Layers vide sur un document aplatiIsFlatten est true et le document n’a aucune couche analyséeVérifiez image.Layers.Length (ou image.IsFlatten) 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 pixel.

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

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


API Reference Résumé

Classe/MéthodeDescription
Image.Load(string) / Image.Load(Stream)Charge un document PSD ou PSB
PsdImage.Save(string) / PsdImage.Save(Stream)Enregistre le document
PsdImage.Width / Height / BitsPerChannel / ColorMode / Version / Compression / Size / IsFlattenPropriétés d’en-tête du document
PsdImage.ImageResourcesBlocs de ressources d’image analysés (lecture seule)

Voir aussi

 Français