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 buildDiagnostische checklist
Voordat u een support-ticket opent, doorloopt u deze checklist:
- Bevestig dat het bestand echt PSD/PSB is — a
PsdLoadExceptionover een niet-ondersteunde versie betekent meestal dat het bestand geen echt PSD/PSB document is. - Controleer op
NotSupportedException— je stelt mogelijk een van de 7 alleen-lezen eigenschappen hierboven vermeld in plaats van deze te lezen. - Verify
Opacityligt in het bereik 0-255, niet 0.0-1.0 of 0-100. - Houd stringwaarden onder 255 bytes voordat je opslaat, om te voorkomen
PsdSaveException. - Call
image.Savena elke bewerking — wijzigingen aan eenLayerinstantie wordt niet bewaard totdat het document is opgeslagen.