Hibaelhárítás Aspose.PSD FOSS for .NET

Hibaelhárítás Aspose.PSD FOSS for .NET

Hibaelhárítás Aspose.PSD FOSS a(z) .NET esetén

Ez az oldal a Aspose.PSD FOSS a(z) .NET számára használatával PSD/PSB dokumentumok betöltésekor, ellenőrzésekor és mentésekor leggyakrabban előforduló problémákat mutatja be.


Betöltési problémák

PsdLoadException egy nem támogatott verzióról szóló üzenettel

A dokumentum deklarált PSD-verzió mezője sem a szabványos PSD, sem a nagy dokumentumot jelölő PSB érték. Mielőtt betöltené, győződjön meg róla, hogy a dokumentum eredeti, sértetlen PSD/PSB formátumú-e:

try
{
    using var image = PsdImage.Load("input.psd");
}
catch (PsdLoadException ex)
{
    Console.WriteLine($"Not a valid PSD/PSB file: {ex.Message}");
}

PsdLoadException egy szekcióhossz határon túllépést jelez

A dokumentum belső hosszmezői nem egyeznek a tényleges mérettel — ez általában azt jelenti, hogy a dokumentum csonkolt vagy sérült, nem pedig hogy nem támogatott, de egyébként érvényes struktúrát használ. Exportálja újra a dokumentumot a forrásalkalmazásból, és próbálja újra.


Mentési problémák

PsdSaveException a Pascal karakterlánc hosszával kapcsolatban

Egy karakterlánc-érték — leggyakrabban egy réteg vagy erőforrás neve — meghaladja a 255 bájtot, ami a PSD Pascal karakterlánc mező által kódolható legnagyobb érték:

layer.Name = layer.Name.Length > 255 ? layer.Name[..255] : layer.Name;
image.Save("output.psd");

Szerkesztési problémák

NotSupportedException a tulajdonság beállításakor

Számos tulajdonság csak olvasható ebben a FOSS verzióban. PsdImage esetén: ActiveLayer, ImageResources, GlobalLayerResources, HasTransparencyData. Layer esetén: ChannelInformation, LayerMaskData, LayerBlendingRangesData. Ezeket tekintse csak lekérhetőnek — ne próbálja meg módosítani őket.

A réteg átlátszósága hibásnak tűnik a beállítás után

Layer.Opacity egy byte a 0-255 tartományban, nem 0,0-1,0-es tört vagy százalék:

layer.Opacity = 200; // approximately 78% opaque, not 200%

A réteg eltávolítása nem lép életbe

PsdImage.Layers rendelkezik működő beállítóval a gyűjtemény szintjén, de az egyes tömb elemeket nem lehet egyszerűen helyben eltávolítani — rendeld újra a teljes szűrt tömböt:

image.Layers = image.Layers.Where(l => l.Name != "Unwanted Layer").ToArray();

Telepítési problémák

A csomag nem található

Erősítsd meg a csomag pontos azonosítóját:

git clone https://github.com/aspose-psd-foss/Aspose.PSD-FOSS-for-.NET.git
cd Aspose.PSD-FOSS-for-.NET
dotnet build

Diagnosztikai ellenőrzőlista

Mielőtt támogatási kérdést nyitnál, menj végig ezen az ellenőrzőlistán:

  1. Erősítse meg, hogy a fájl valóban PSD/PSB — a PsdLoadException Az egy nem támogatott verzióval kapcsolatos üzenet általában azt jelenti, hogy a fájl nem valódi PSD/PSB dokumentum.
  2. Ellenőrizze a NotSupportedException — előfordulhat, hogy a fent felsorolt 7 csak olvasható tulajdonság egyiket állítja be ahelyett, hogy olvasná.
  3. Verify Opacity 0-255 tartományban van, nem 0.0-1.0 vagy 0-100.
  4. Tartsa a karakterlánc értékeket 255 bájt alatt mentés előtt, hogy elkerülje PsdSaveException.
  5. Call image.Save minden szerkesztés után — változások egy Layer példány nem kerül mentésre, amíg a dokumentum nincs elmentve.

Lásd még:

 Magyar