Probleemoplossing Aspose.PSD FOSS for .NET

Probleemoplossing Aspose.PSD FOSS for .NET

Probleemoplossing Aspose.PSD FOSS voor .NET

Deze pagina behandelt de meest voorkomende problemen die zich voordoen bij het laden, inspecteren en opslaan van PSD/PSB documenten met Aspose.PSD FOSS voor .NET.


Laadproblemen

PsdLoadException met een bericht over een niet-ondersteunde versie

Het PSD-versieveld dat in het bestand is opgegeven is noch de standaard PSD-waarde, noch de grote-document PSB-waarde. Controleer of het bestand een authentiek, onbeschadigd PSD/PSB document is voordat u het laadt:

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

PsdLoadException over een sectielengte die een grens overschrijdt

De interne lengtevelden van het bestand komen niet overeen met de werkelijke grootte — dit betekent meestal dat het bestand is afgekapt of beschadigd, niet dat het een niet-ondersteunde maar verder geldige structuur gebruikt. Exporteer het bestand opnieuw vanuit de bronapplicatie en probeer het opnieuw.


Opslaanproblemen

PsdSaveException over een Pascal-tekenreekslengte

Een tekenreekswaarde — meestal een laag- of resource-naam — overschrijdt 255 bytes, het maximum dat een PSD Pascal-tekenreeksveld kan coderen:

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

Bewerkingsproblemen

NotSupportedException bij het instellen van een eigenschap

Verschillende eigenschappen zijn alleen-lezen in deze FOSS-build. Op PsdImage: ActiveLayer, ImageResources, GlobalLayerResources, HasTransparencyData. Op Layer: ChannelInformation, LayerMaskData, LayerBlendingRangesData. Beschouw deze als alleen-ophalen — wijs er geen waarden aan toe.

Laagopaciteit ziet er fout uit na het instellen

Layer.Opacity is een byte in het bereik 0-255, geen 0,0-1,0-breuk of een percentage:

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

Een laagverwijdering heeft geen effect

PsdImage.Layers heeft een werkende setter op collectieniveau, maar individuele array-elementen kunnen niet eenvoudig ter plekke worden verwijderd — wijs de hele gefilterde array opnieuw toe:

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

Installatieproblemen

Pakket niet gevonden

Bevestig de exacte pakketidentiteit:

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

Diagnostische checklist

Voordat u een support-ticket opent, doorloopt u deze checklist:

  1. Bevestig dat het bestand echt PSD/PSB is — a PsdLoadException over een niet-ondersteunde versie betekent meestal dat het bestand geen echt PSD/PSB document is.
  2. Controleer op NotSupportedException — je stelt mogelijk een van de 7 alleen-lezen eigenschappen hierboven vermeld in plaats van deze te lezen.
  3. Verify Opacity ligt in het bereik 0-255, niet 0.0-1.0 of 0-100.
  4. Houd stringwaarden onder 255 bytes voordat je opslaat, om te voorkomen PsdSaveException.
  5. Call image.Save na elke bewerking — wijzigingen aan een Layer instantie wordt niet bewaard totdat het document is opgeslagen.

Zie ook

 Nederlands