Alap API
Alap API
PsdImage a belépési pont a PSD/PSB dokumentumok betöltéséhez, ellenőrzéséhez és mentéséhez. Kiterjeszti az absztrakt Image alaposztályt, amely deklarálja a Width, Height, Bounds, Load(), Save() és Dispose() elemeket.
Dokumentumok betöltése és mentése
Image.Load() elfogad egy fájlútvonalat vagy egy Stream és visszaad egy Image; a visszatérési értéket PsdImage-ra kell cast-olni a dokumentum többi felületének eléréséhez. PsdImage.Save() a dokumentumot visszaírja egy fájlútvonalra vagy adatfolyamra.
using var image = (PsdImage)Image.Load(inputPath);
// ... inspect or edit ...
image.Save(outputPath);Dokumentumfejléc tulajdonságok
PsdImage a feldolgozott fejlécet típusosított tulajdonságokként teszi elérhetővé: Width, Height, BitsPerChannel, ColorMode, Version, Compression, Size és 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}");Kép erőforrások
PsdImage.ImageResources visszaadja a feldolgozott ResourceBlock[] tömböt. Ebben a FOSS változatban a ImageResources, GlobalLayerResources, ActiveLayer és HasTransparencyData olvasható, de nem írható át – a setterjeik NotSupportedException kivételt dobnak.
foreach (ResourceBlock resource in image.ImageResources)
{
Console.WriteLine($"Resource {resource.ID}: {resource.Name} ({resource.DataSize} bytes)");
}Tippek és legjobb gyakorlatok
- Mindig alakítsd át a
Image.Load()eredményétPsdImagetípusra, hogy elérhesd a PSD-specifikus tagokat. - Csomagold
Dispose()-érvényes objektumokat egyusingutasításba; aPsdImagemegvalósítja aIDisposable-t. - Kezeld a
ImageResources,GlobalLayerResources,ActiveLayerésHasTransparencyDataelemeket csak olvasásra, még akkor is, ha rendelkeznek beállítással. - Ellenőrizd a
image.Layers.Lengthértékét, mielőtt aimage.Layersindexelését végeznéd — egy laposított dokumentumnak lehet nulla rétege.
Gyakori problémák
| Probléma | Ok | Javítás |
|---|---|---|
NotSupportedException a ImageResources beállításakor | Ez a tulajdonság csak olvasható a FOSS kiadásban, annak ellenére, hogy van beállítója | Olvasd ki az értéket; ne próbáld újra hozzárendelni |
Üres image.Layers tömb egy laposított dokumentumban | IsFlatten true és a dokumentumnak nincs feldolgozott rétege | Ellenőrizze a(z) image.Layers.Length (vagy image.IsFlatten) értéket, mielőtt a(z) image.Layers indexelné |
FAQ
A PSD-dokumentum betöltése dekódolja a pixeladatokat?
Nem. PsdImage.Load() elemzi a dokumentumfejlécet, a réteg metaadatait és az erőforrásokat anélkül, hogy dekódolná vagy megjelenítené a pixeladatokat.
Átkonvertálhatok egy PSD fájlt egy másik képfájlformátumba?
Nem. Ez a könyvtár csak PSD/PSB dokumentumokat tölt be, vizsgál meg és ment – nem jelenít meg pixeladatokat, és nem konvertál más képfájlformátumokra.
API Reference összefoglaló
| Osztály/Módszer | Leírás |
|---|---|
Image.Load(string) / Image.Load(Stream) | Betölt egy PSD vagy PSB dokumentumot |
PsdImage.Save(string) / PsdImage.Save(Stream) | Ment egy dokumentumot |
PsdImage.Width / Height / BitsPerChannel / ColorMode / Version / Compression / Size / IsFlatten | Dokumentumfejléc tulajdonságai |
PsdImage.ImageResources | Feldolgozott kép erőforrás blokkok (csak olvasható) |