Kern API

Kern-API

PsdImage is het toegangspunt voor het laden, inspecteren en opslaan van PSD/PSB documenten. Het breidt de abstracte Image basisklasse uit, die Width, Height, Bounds, Load(), Save() en Dispose() declareert.


Documenten laden en opslaan

Image.Load() accepteert een bestandspad of een Stream en retourneert een Image; cast het resultaat naar PsdImage om toegang te krijgen tot de rest van het documentoppervlak. PsdImage.Save() schrijft het document terug naar een bestandspad of stream.

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

Documentheader-eigenschappen

PsdImage geeft de geparseerde header weer als getypeerde eigenschappen: Width, Height, BitsPerChannel, ColorMode, Version, Compression, Size en 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}");

Afbeeldingsbronnen

PsdImage.ImageResources retourneert de geparseerde ResourceBlock[] array. In deze FOSS-build kunnen ImageResources, GlobalLayerResources, ActiveLayer en HasTransparencyData worden gelezen maar niet opnieuw toegewezen — hun set-methoden gooien NotSupportedException.

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

Tips en best practices

  • Cast altijd het resultaat van Image.Load() naar PsdImage om PSD-specifieke leden te benaderen.
  • Omhul Dispose()-waardige objecten in een using-statement; PsdImage implementeert IDisposable.
  • Behandel ImageResources, GlobalLayerResources, ActiveLayer en HasTransparencyData als alleen-lezen, ook al bieden ze een setter.
  • Controleer image.Layers.Length voordat je indexeert in image.Layers — een afgevlakt document kan nul lagen hebben.

Veelvoorkomende problemen

ProbleemOorzaakOplossing
NotSupportedException bij het instellen van ImageResourcesDeze eigenschap is alleen-lezen in de FOSS-build, ondanks dat er een setter isLees de waarde; probeer deze niet opnieuw toe te wijzen
Lege image.Layers-array in een geflatteerd documentIsFlatten is true en het document heeft geen geparseerde lagenControleer image.Layers.Length (of image.IsFlatten) voordat je indexeert in image.Layers

FAQ

Decodeert het laden van een PSD-document pixelgegevens?

Nee. PsdImage.Load() parseert de documentheader, laagmetadata en bronnen zonder pixelgegevens te decoderen of weer te geven.

Kan ik een PSD-bestand naar een ander afbeeldingsformaat converteren?

Nee. Deze bibliotheek laadt, inspecteert en slaat alleen PSD/PSB-documenten op — hij rendert geen pixelgegevens en converteert niet naar andere afbeeldingsformaten.


API Reference Samenvatting

Klasse/MethodeBeschrijving
Image.Load(string) / Image.Load(Stream)Laadt een PSD- of PSB-document
PsdImage.Save(string) / PsdImage.Save(Stream)Slaat het document op
PsdImage.Width / Height / BitsPerChannel / ColorMode / Version / Compression / Size / IsFlattenEigenschappen van de documentheader
PsdImage.ImageResourcesGeparseerde afbeeldingsresourceblokken (alleen-lezen)

Zie ook

 Nederlands