1. Producten
  2.   Aspose.PSD
  3.   Aspose.PSD FOSS for .NET

Aspose.PSD FOSS voor .NET

Open-source .NET bibliotheek voor het laden, inspecteren en opslaan van PSD/PSB-bestanden met toegang tot laagmetadata. MIT-licentie, geen Adobe Photoshop vereist.

Open-Source .NET Bibliotheek voor PSD/PSB-bestanden

Aspose.PSD FOSS for .NET is a free, MIT-licensed, pure C# library for loading, inspecting, and saving Adobe Photoshop PSD and PSB files without requiring Adobe Photoshop or any proprietary runtime. It exposes a lightweight, standalone API centered on PsdImage and Layer, giving .NET developers programmatic access to a PSD document’s structure with no native dependencies to compile. The library reads a PSD/PSB file’s dimensions, color mode, bit depth, and compression method, and exposes every layer through PsdImage.Layers: each Layer reports its name, bounds, opacity, visibility, and blend mode key (BlendMode), along with lower-level channel information (ChannelInformation) and mask data (LayerMaskData). A subset of layer metadata — name, bounds (Left/Top/Right/Bottom), and blend mode — can be modified in place and persisted back to disk with PsdImage.Save(); everything else on the surface is read-only by design in this FOSS build. Aspose.PSD FOSS for .NET is MIT licensed. Install it with dotnet add package Aspose.PSD.FOSS — the library has zero third-party native dependencies, only the .NET BCL. For the enterprise product family, see Aspose.PSD — Enterprise Product Family.

Laad en inspecteer PSD/PSB-bestanden

  • Image.Load(filePath) of Image.Load(stream) opent een bestand en retourneert een Image, gecast naar PsdImage voor PSD-specifieke toegang
  • PsdImage.Width, Height en Size geven de afmetingen van het canvas weer
  • PsdImage.ColorMode (ColorModes), BitsPerChannel en Compression (CompressionMethod) beschrijven hoe de pixelgegevens gecodeerd zijn
  • PsdImage.Version (PsdVersion) onderscheidt standaard PSD van de grote-document PSB-variant

Valideer en catalogiseer ontwerpbestanden

  • Valideer een batch ontwerpbestanden voordat ze worden doorgegeven aan een downstream-proces
  • Maak een lichtgewicht assetcatalogus van PSD/PSB-afmetingen en kleurmodi
  • Detecteer PSB (large-document) bestanden die een andere behandeling vereisen dan standaard PSD

Werken met lagen

  • PsdImage.Layers retourneert elke Layer in documentvolgorde; PsdImage.ActiveLayer geeft aan welke actief is
  • Elke Layer geeft Name, Bounds, Opacity, IsVisible en BlendModeKey (BlendMode) weer
  • Layer.ChannelInformation en Layer.LayerMaskData geven kanaal- en maskermetadata weer voor diepere inspectie
  • Layer.ChannelsCount meldt hoeveel afbeeldingskanalen een laag bevat

Auditlaagstructuur

  • Controleer de laagstructuur van een PSD zonder Photoshop te openen
  • Genereer een rapport met laagnaam, zichtbaarheid en mengmodi voor een ontwerpreview
  • Identificeer verborgen of volledig transparante lagen die zijn overgebleven van eerdere bewerkingen

Bewerk basislaagmetadata

  • Layer.Name, Layer.Left/Top/Right/Bottom, en Layer.BlendModeKey kunnen direct worden ingesteld
  • PsdImage.Save(filePath) of PsdImage.Save(stream) slaat het gewijzigde document weer op naar schijf
  • Het opnieuw laden van een opgeslagen bestand met Image.Load bevestigt dat de bewerkingen correct round-trip verlopen
  • Eigenschappen die niet hierboven zijn vermeld (kanaalinformatie, maskergegevens, mengbereiken, afbeeldingsbronnen) veroorzaken een NotSupportedException als ze worden ingesteld — deze build ondersteunt alleen bewerkingen op metadata, niet volledige herbewerking

Lichtgewicht, scriptbare bewerkingen

  • Hernoem lagen programmatisch als onderdeel van een geautomatiseerde bestandsorganisatie-pipeline
  • Verplaats of wijzig de begrenzingsbox van een laag zonder een ontwerptool
  • Batch-update blend modes over veel bestanden voor consistentie

Inspecteer Resourceblokken en Documentstatus

  • PsdImage.ImageResources en GlobalLayerResources exposeren ResourceBlock/LayerResource collecties
  • PsdImage.GlobalLayerMaskInfo rapporteert documentbrede laagmaskerinformatie
  • PsdImage.IsFlatten en HasTransparencyData rapporteren documentniveau vlaggen
  • PsdLoadException en PsdSaveException brengen laad-/opslaffouten naar voren met duidelijke berichten

Diagnose en Inspectie

  • Diagnose waarom een bepaald PSD-bestand niet laadt, met een getypte exceptie in plaats van een generieke fout
  • Controleer of een bestand in een geflatteerde vorm is opgeslagen voordat verdere verwerking plaatsvindt
  • Inspecteer ingebedde resource-blokken voor metadata op formaatniveau

Laad een PSD-bestand en inspecteer de lagen

Laad een bestand met Image.Load en cast het resultaat naar PsdImage voor PSD-specifieke leden.

using var image = (PsdImage)Image.Load("test.psd");
Console.WriteLine($"Width: {image.Width}, Channels: {image.ChannelsCount}, Layers: {image.Layers.Length}");
Layer layer = image.Layers[0];
Console.WriteLine($"Bounds: {layer.Bounds}, BlendMode: {layer.BlendModeKey}, Opacity: {layer.Opacity}, Visible: {layer.IsVisible}");

Bewerk Laagmetadata en Sla op

Laagnaam, grenzen en mengmodus kunnen ter plaatse worden gewijzigd en terug naar de schijf worden opgeslagen.

using (var image = (PsdImage)Image.Load("test.psd"))
{
    image.Layers[0].Name = "Renamed layer";
    image.Layers[0].Left = 10;
    image.Layers[0].Top = 20;
    image.Layers[0].Right = 40;
    image.Layers[0].Bottom = 60;
    image.Layers[0].BlendModeKey = BlendMode.Multiply;
    image.Save("edited.psd");
}

using var reloaded = (PsdImage)Image.Load("edited.psd");
Console.WriteLine($"Name: {reloaded.Layers[0].Name}, BlendMode: {reloaded.Layers[0].BlendModeKey}");

Kanaalinformatie lezen (Alleen-lezen)

Kanaalinformatie kan worden gelezen maar niet opnieuw toegewezen — proberen om het in te stellen veroorzaakt NotSupportedException.

using var image = (PsdImage)Image.Load("test.psd");
Layer layer = image.Layers[0];
ChannelInformation[] channelInformation = layer.ChannelInformation;
Console.WriteLine($"Channel count: {layer.ChannelsCount}, First channel length: `NotSupportedException`");
// layer.ChannelInformation = channelInformation; // throws NotSupportedException

Veelgestelde vragen

Wat is het licentiemodel?

Aspose.PSD FOSS for .NET is gelicentieerd onder de MIT-licentie. Je kunt het gebruiken, aanpassen en distribueren onder de voorwaarden van de MIT-licentie, ook in commerciële producten.

Hoe installeer ik Aspose.PSD FOSS for .NET?

Zie de installatiesectie hierboven voor het huidige installcommando.

Welke formaten kan Aspose.PSD FOSS for .NET lezen en schrijven?

Het laadt en slaat PSD- en PSB-bestanden (Photoshop large document) op. Het rendert of exporteert geen pixelgegevens naar andere rasterformaten zoals PNG of JPEG.

Wat is de hoofd-entry-point-klasse?

PsdImage (een subklasse van Image). Laad een document met PsdImage.Load, lees vervolgens de Layers-collectie en de headereigenschappen.

Kan ik de metadata van de laag wijzigen?

Ja — Layer biedt een werkende setter voor verschillende eigenschappen, zoals zichtbaarheid en naam, en PsdImage.Layers zelf heeft een werkende setter voor het vervangen van de collectie. Een paar specifieke eigenschappen (kanaalinformatie, maskergegevens, mengbereiken en sommige document-niveau bronnen) zijn alleen-lees in deze FOSS-build en werpen een NotSupportedException als ze worden ingesteld.

  

Ondersteuning en leermiddelen

 Nederlands