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

Aspose.PSD FOSS för .NET

Öppen källkod .NET-bibliotek för att läsa in, inspektera och spara PSD/PSB-filer med åtkomst till lagermetadata. MIT-licensierad, ingen Adobe Photoshop krävs.

Open-Source .NET Bibliotek för PSD/PSB-filer

Aspose.PSD FOSS for .NET är ett fritt, MIT-licensierat, rent C# bibliotek för att läsa in, inspektera, och spara Adobe Photoshop PSD och PSB-filer utan att kräva Adobe Photoshop eller någon proprietär körmiljö. Det exponerar ett lättviktigt, fristående API centrerat på PsdImage och Layer, vilket ger .NET utvecklare programmatisk åtkomst till en PSD-dokuments struktur utan inhemska beroenden att kompilera. Biblioteket läser en PSD/PSB-fils dimensioner, färgläge, bithöjd och komprimerings metod, och exponerar varje lager via PsdImage.Layers: varje Layer rapporterar sitt namn, gränser, opacitet, synlighet och blandningslägesnyckel (BlendMode), tillsammans med lägre nivå-kanalinformation (ChannelInformation) och maskdata (LayerMaskData). En delmängd av lagermetadata — namn, gränser (Left/Top/Right/Bottom), och blandningsläge — kan modifieras på plats och sparas tillbaka till disk med PsdImage.Save(); allt annat på ytan är skrivskyddat enligt design i detta FOSS-bygge. Aspose.PSD FOSS for .NET är MIT-licensierat. Installera det med dotnet add package Aspose.PSD.FOSS — biblioteket har noll tredjeparts-inhemska beroenden, endast .NET BCL. För företagsproduktfamiljen, se Aspose.PSD — Enterprise Product Family.

Läs in och inspektera PSD/PSB-filer

  • Image.Load(filePath) eller Image.Load(stream) öppnar en fil och returnerar en Image, kastad till PsdImage för PSD-specifik åtkomst
  • PsdImage.Width, Height och Size rapporterar dukens dimensioner
  • PsdImage.ColorMode (ColorModes), BitsPerChannel och Compression (CompressionMethod) beskriver hur pixeldata kodas
  • PsdImage.Version (PsdVersion) skiljer standard-PSD från den stora-dokument-PSB-varianten

Validera och katalogisera designfiler

  • Validera en batch av designfiler innan de överlämnas till en efterföljande process
  • Bygg en lättviktig tillgångskatalog med PSD/PSB-dimensioner och färglägen
  • Detektera PSB (large-document)-filer som kräver annan hantering än standard-PSD

Arbeta med lager

  • PsdImage.Layers returnerar varje Layer i dokumentordning; PsdImage.ActiveLayer rapporterar vilken som är aktiv
  • Varje Layer exponerar Name, Bounds, Opacity, IsVisible och BlendModeKey (BlendMode)
  • Layer.ChannelInformation och Layer.LayerMaskData exponerar kanal- och maskmetadata för djupare inspektion
  • Layer.ChannelsCount rapporterar hur många bildkanaler ett lager bär

Granskningslagerstruktur

  • Granska ett PSD:s lagerstruktur utan att öppna Photoshop
  • Generera en rapport med lagernamn, synlighet och blandningslägen för en designgranskning
  • Identifiera dolda eller lager med noll opacitet som är kvar från tidigare redigeringar

Redigera grundläggande lagermetadata

  • Layer.Name, Layer.Left/Top/Right/Bottom och Layer.BlendModeKey kan sättas direkt
  • PsdImage.Save(filePath) eller PsdImage.Save(stream) sparar det modifierade dokumentet tillbaka till disken
  • Att ladda om en sparad fil med Image.Load bekräftar att redigeringarna går igenom korrekt
  • Egenskaper som inte listas ovan (kanalinformation, maskdata, blandningsintervall, bildresurser) kastar NotSupportedException om de sätts — den här versionen stöder endast metadata-ändringar, inte full återförfattning

Lättviktiga, skriptbara redigeringar

  • Byt namn på lager programatiskt som en del av en automatiserad filorganiseringspipeline
  • Flytta eller ändra storlek på ett lagers begränsningsruta utan ett designverktyg
  • Batch-uppdatera blandningslägen i många filer för konsistens

Inspektera resursblock och dokumenttillstånd

  • PsdImage.ImageResources och GlobalLayerResources exponerar ResourceBlock/LayerResource-samlingar
  • PsdImage.GlobalLayerMaskInfo rapporterar dokumentomfattande lagermaskinformation
  • PsdImage.IsFlatten och HasTransparencyData rapporterar dokumentnivåflaggor
  • PsdLoadException och PsdSaveException visar laddnings-/sparningsfel med tydliga meddelanden

Diagnostisera och inspektera

  • Diagnostisera varför en viss PSD-fil misslyckas med att laddas, med ett typat undantag istället för ett generiskt fel
  • Kontrollera om en fil har sparats i platt form innan vidare bearbetning
  • Undersök inbäddade resursblock för format-nivåmetadata

Läs in en PSD-fil och inspektera dess lager

Läs in en fil med Image.Load och kasta resultatet till PsdImage för PSD-specifika medlemmar.

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}");

Redigera lagermetadata och spara

Lagernamn, gränser och blandningsläge kan ändras på plats och sparas tillbaka till disk.

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}");

Läs kanalinformation (skrivskyddad)

Kanalinformation kan läsas men inte tilldelas om — att försöka sätta den kastar 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

Vanliga Frågor

Vad är licensmodellen?

Aspose.PSD FOSS for .NET är licensierad under MIT. Du kan använda, modifiera och distribuera den under villkoren för MIT-licensen, inklusive i kommersiella produkter.

Hur installerar jag Aspose.PSD FOSS for .NET?

Se installationsavsnittet ovan för det aktuella installationskommandot.

Vilka format kan Aspose.PSD FOSS for .NET läsa och skriva?

Den laddar och sparar PSD- och PSB-filer (Photoshop large document). Den renderar inte eller exporterar pixeldatan till andra rasterformat som PNG eller JPEG.

Vad är huvudingångspunktsklassen?

PsdImage (en underklass till Image). Ladda ett dokument med PsdImage.Load, läs sedan dess Layers-samling och huvudegenskaper.

Kan jag ändra lagermetadata?

Ja — Layer exponerar en fungerande setter för flera egenskaper, såsom synlighet och namn, och PsdImage.Layers själv har en fungerande setter för att ersätta samlingen. Några specifika egenskaper (kanalinformation, maskdata, blandningsintervall och vissa dokumentnivåresurser) är skrivskyddade i den här FOSS-byggnaden och kastar NotSupportedException om de sätts.

  

Stöd och Lärande Resurser

 Svenska