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

Aspose.PSD FOSS pentru .NET

Bibliotecă open-source .NET pentru încărcarea, inspectarea și salvarea fișierelor PSD/PSB cu acces la metadatele stratului. Licențiată sub MIT, nu este necesar Adobe Photoshop.

Bibliotecă Open-Source .NET pentru fișiere PSD/PSB

Aspose.PSD FOSS for .NET este o bibliotecă gratuită, cu licență MIT, pură C# pentru încărcare, inspectare, și salvarea fișierelor Adobe Photoshop PSD și PSB fără a necesita Adobe Photoshop sau orice runtime proprietar. Expune o API ușoară, independentă, centrată pe PsdImage și Layer, oferind dezvoltatorilor .NET acces programatic la structura unui document PSD fără dependențe native la compilare. Biblioteca citește dimensiunile, modul de culoare, adâncimea de biți și metoda de compresie a unui fișier PSD/PSB și expune fiecare strat prin PsdImage.Layers: fiecare Layer raportează numele, limitele, opacitatea, vizibilitatea și cheia modului de amestecare (BlendMode), împreună cu nivelul inferior al informațiilor canalului (ChannelInformation) și datele măștii (LayerMaskData). Un subset de metadatele stratului — nume, limite (Left/Top/Right/Bottom), și mod de amestecare — poate fi modificat la față locului și persistat pe disc cu PsdImage.Save(); tot restul pe suprafață este doar în citire prin design în această construcție FOSS. Aspose.PSD FOSS for .NET este licențiată sub MIT. Instalați-l cu dotnet add package Aspose.PSD.FOSS — biblioteca nu are nici o dependență nativă de terți, doar .NET BCL. Pentru familia de produse enterprise, vedeți Aspose.PSD — Enterprise Product Family.

Încărcați și inspectați fișiere PSD/PSB

  • Image.Load(filePath) sau Image.Load(stream) deschide un fișier și returnează un Image, convertit la PsdImage pentru acces specific PSD
  • PsdImage.Width, Height și Size raportează dimensiunile pânzei
  • PsdImage.ColorMode (ColorModes), BitsPerChannel și Compression (CompressionMethod) descriu modul în care sunt codate datele pixelilor
  • PsdImage.Version (PsdVersion) diferențiază PSD standard de varianta PSB pentru documente mari

Validați și catalogizați Fișierele de Design

  • Validați un lot de fișiere de design înainte de a le preda unui proces ulterior
  • Construiți un catalog ușor al resurselor cu dimensiunile și modurile de culoare ale PSD/PSB
  • Detectați fișierele PSB (documente mari) care necesită o manipulare diferită față de PSD standard

Lucrează cu straturi

  • PsdImage.Layers returnează fiecare Layer în ordinea documentului; PsdImage.ActiveLayer raportează care este activă
  • Fiecare Layer expune Name, Bounds, Opacity, IsVisible și BlendModeKey (BlendMode)
  • Layer.ChannelInformation și Layer.LayerMaskData expun metadatele de canal și mască pentru o inspecție mai profundă
  • Layer.ChannelsCount raportează câte canale de imagine conține un layer

Structura stratului de audit

  • Auditați structura de straturi a unui PSD fără a deschide Photoshop
  • Generați un raport cu numele straturilor, vizibilitatea și modurile de amestec pentru revizuirea designului
  • Identificați straturile ascunse sau cu opacitate zero rămase din editările anterioare

Editați metadatele de bază ale stratului

  • Layer.Name, Layer.Left/Top/Right/Bottom și Layer.BlendModeKey pot fi setate direct
  • PsdImage.Save(filePath) sau PsdImage.Save(stream) salvează documentul modificat înapoi pe disc
  • Reîncărcarea unui fișier salvat cu Image.Load confirmă că modificările trec corect printr-un ciclu complet
  • Proprietățile neenumerate mai sus (informații despre canal, date de mască, intervale de amestecare, resurse de imagine) generează NotSupportedException dacă sunt setate — această construcție suportă editări doar de metadate, nu reautorizarea completă

Editări ușoare, scriptabile

  • Redenumiți straturile programatic ca parte a unei conducte automate de organizare a fișierelor
  • Repoziționați sau redimensionați cutia de delimitare a unui strat fără un instrument de design
  • Actualizați în lot modurile de amestecare în multe fișiere pentru consistență

Inspectați blocurile de resurse și starea documentului

  • PsdImage.ImageResources și GlobalLayerResources expun colecțiile ResourceBlock/LayerResource
  • PsdImage.GlobalLayerMaskInfo raportează informațiile despre masca de strat la nivel de document
  • PsdImage.IsFlatten și HasTransparencyData raportează indicatori la nivel de document
  • PsdLoadException și PsdSaveException expun erorile de încărcare/salvare cu mesaje clare

Diagnosticați și inspectați

  • Diagnozați de ce un anumit fișier PSD nu se încarcă, cu o excepție tipizată în loc de o eroare generică
  • Verificați dacă un fișier a fost salvat în formă aplatizată înainte de procesarea ulterioară
  • Inspectați blocurile de resurse încorporate pentru metadate la nivel de format

Încărcați un fișier PSD și inspectați straturile sale

Încărcați un fișier cu Image.Load și convertiți rezultatul la PsdImage pentru membri specifici PSD.

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

Editați metadatele stratului și salvați

Numele stratului, limitele și modul de amestecare pot fi modificate la fața locului și salvate înapoi pe disc.

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

Citește informațiile canalului (doar citire)

Informațiile canalului pot fi citite, dar nu pot fi reasignate — încercarea de a le seta aruncă 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

Întrebări Frecvente

Care este modelul de licențiere?

Aspose.PSD FOSS for .NET este licențiat sub MIT. Poți să îl folosești, să îl modifici și să îl redistribui conform termenilor licenței MIT, inclusiv în produse comerciale.

Cum instalez Aspose.PSD FOSS for .NET?

Consultați secțiunea de instalare de mai sus pentru comanda de instalare curentă.

Ce formate poate Aspose.PSD FOSS for .NET să citească și să scrie?

Încarcă și salvează fișiere PSD și PSB (documente mari Photoshop). Nu redă sau exportă datele pixel la alte formate raster, cum ar fi PNG sau JPEG.

Care este clasa principală de punct de intrare?

PsdImage (o subclasă a lui Image). Încarcă un document cu PsdImage.Load, apoi citește colecția Layers și proprietățile de antet.

Pot modifica metadatele stratului?

Da — Layer expune un setter funcțional pentru mai multe proprietăţi, cum ar fi vizibilitatea şi numele, iar PsdImage.Layers în sine are un setter funcțional pentru înlocuirea colecţiei. Câteva proprietăţi specifice (informaţii de canal, date de mască, intervale de amestecare şi unele resurse la nivel de document) sunt numai în citire în această construcție FOSS şi aruncă NotSupportedException dacă sunt setate.

  

Resurse de Suport și Învățare

 Română