Jádro API

Základní API

PsdImage je vstupní bod pro načítání, inspekci a ukládání dokumentů PSD/PSB. Rozšiřuje abstraktní Image základní třídu, která deklaruje Width, Height, Bounds, Load(), Save() a Dispose().


Načítání a ukládání dokumentů

Image.Load() přijímá cestu k souboru nebo Stream a vrací Image; přetypujte výsledek na PsdImage, abyste získali přístup k ostatní části dokumentu. PsdImage.Save() zapíše dokument zpět do cesty k souboru nebo streamu.

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

Vlastnosti hlavičky dokumentu

PsdImage zpřístupňuje analyzovanou hlavičku jako typované vlastnosti: Width, Height, BitsPerChannel, ColorMode, Version, Compression, Size a 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}");

Obrázkové zdroje

PsdImage.ImageResources vrací analyzované pole ResourceBlock[]. V tomto FOSS sestavení lze ImageResources, GlobalLayerResources, ActiveLayer a HasTransparencyData číst, ale nelze jim přiřadit novou hodnotu — jejich settery vyhazují NotSupportedException.

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

Tipy a osvědčené postupy

  • Vždy přetypujte výsledek Image.Load() na PsdImage, abyste získali přístup k členům specifickým pro PSD.
  • Zabalte objekty vhodné pro Dispose() do výrazu using; PsdImage implementuje IDisposable.
  • Považujte ImageResources, GlobalLayerResources, ActiveLayer a HasTransparencyData za jen pro čtení, i když mají nastavitelný setter.
  • Zkontrolujte image.Layers.Length před indexováním do image.Layers — zploštělý dokument může mít nulové vrstvy.

Časté problémy

ProblémPříčinaOprava
NotSupportedException při nastavování ImageResourcesTato vlastnost je ve FOSS buildu jen pro čtení, i když má setterPřečtěte hodnotu; nesnažte se ji znovu přiřadit
Prázdné pole image.Layers v zploštělém dokumentuIsFlatten je true a dokument nemá žádné parsované vrstvyZkontrolujte image.Layers.Length (nebo image.IsFlatten) před indexováním do image.Layers

FAQ

Načítá načtení PSD dokumentu dekódování pixelových dat?

Ne. PsdImage.Load() analyzuje hlavičku dokumentu, metadata vrstev a zdroje, aniž by dekódovalo nebo vykreslovalo pixelová data.

Mohu převést soubor PSD do jiného formátu obrázku?

Ne. Tato knihovna načítá, kontroluje a ukládá pouze dokumenty PSD/PSB — neprovádí vykreslování pixelových dat ani konverzi do jiných formátů obrázků.


API Reference Shrnutí

Třída/metodaPopis:
Image.Load(string) / Image.Load(Stream)Načte dokument PSD nebo PSB
PsdImage.Save(string) / PsdImage.Save(Stream)Uloží dokument
PsdImage.Width / Height / BitsPerChannel / ColorMode / Version / Compression / Size / IsFlattenVlastnosti hlavičky dokumentu
PsdImage.ImageResourcesAnalyzované bloky zdrojů obrázku (pouze ke čtení)

Viz také:

 Čeština