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

Aspose.PSD FOSS pro .NET

Open-source .NET knihovna pro načítání, prohlížení a ukládání souborů PSD/PSB s přístupem k metadatům vrstev. Licencována pod licencí MIT, není vyžadován Adobe Photoshop.

Open-Source .NET knihovna pro soubory PSD/PSB Files

Aspose.PSD FOSS for .NET je volná, pod licencí MIT, čistá C# knihovna pro načítání, prohlížení, a ukládání souborů Adobe Photoshop PSD a PSB bez nutnosti Adobe Photoshopu nebo jakéhokoli proprietárního runtime. Poskytuje lehkou, samostatnou API zaměřenou na PsdImage a Layer, která .NET vývojářům poskytuje programový přístup ke struktuře PSD dokumentu bez nativních závislostí při kompilaci. Knihovna načítá rozměry souboru PSD/PSB, barevný režim, bitovou hloubku a kompresní metodu a zpřístupňuje každou vrstvu přes PsdImage.Layers: každá Layer uvádí svůj název, ohraničení, neprůhlednost, viditelnost a klíč režimu prolnutí (BlendMode), spolu s nízkoúrovňovými informacemi o kanálech (ChannelInformation) a daty masky (LayerMaskData). Podmnožina metadat vrstvy — název, ohraničení (Left/Top/Right/Bottom) a režim prolnutí — může být upravená přímo a uložena zpět na disk pomocí PsdImage.Save(); vše ostatní na povrchu je záměrně pouze ke čtení v tomto FOSS sestavení. Aspose.PSD FOSS for .NET je licencována pod MIT. Nainstalujte ji pomocí dotnet add package Aspose.PSD.FOSS — knihovna nemá žádné třetí strany nativní závislosti, pouze .NET BCL. Pro rodinu podnikového produktu viz Aspose.PSD — Enterprise Product Family.

Načíst a prozkoumat soubory PSD/PSB

  • Image.Load(filePath) nebo Image.Load(stream) otevře soubor a vrátí Image, přetypujte na PsdImage pro přístup k PSD-specifickým funkcím
  • PsdImage.Width, Height a Size udávají rozměry plátna
  • PsdImage.ColorMode (ColorModes), BitsPerChannel a Compression (CompressionMethod) popisují, jak jsou pixelová data kódována
  • PsdImage.Version (PsdVersion) rozlišuje standardní PSD od varianty velkého dokumentu PSB

Ověřit a katalogizovat soubory návrhu

  • Ověřit dávku návrhových souborů před předáním do následného procesu
  • Vytvořit lehký katalog aktiv s rozměry a barevnými režimy PSD/PSB
  • Detekovat soubory PSB (large-document), které vyžadují odlišné zacházení oproti standardnímu PSD

Práce s vrstvami

  • PsdImage.Layers vrací každou Layer v pořadí dokumentu; PsdImage.ActiveLayer uvádí, která je aktivní
  • Každá Layer vystavuje Name, Bounds, Opacity, IsVisible a BlendModeKey (BlendMode)
  • Layer.ChannelInformation a Layer.LayerMaskData vystavují metadata kanálů a masek pro podrobnější kontrolu
  • Layer.ChannelsCount uvádí, kolik obrazových kanálů vrstva nese

Audit vrstva struktura

  • Zkontrolujte strukturu vrstev PSD bez otevření Photoshopu
  • Vytvořte zprávu o názvech vrstev, viditelnosti a režimech prolnutí pro revizi návrhu
  • Identifikujte skryté nebo vrstvy s nulovou neprůhledností, které zůstaly po předchozích úpravách

Upravit základní metadata vrstvy

  • Layer.Name, Layer.Left/Top/Right/Bottom a Layer.BlendModeKey lze nastavit přímo
  • PsdImage.Save(filePath) nebo PsdImage.Save(stream) uloží upravený dokument zpět na disk
  • Opětovné načtení uloženého souboru pomocí Image.Load potvrdí, že úpravy projdou round-trip správně
  • Vlastnosti, které nejsou výše uvedeny (informace o kanálech, data masky, oblasti míchání, obrazové zdroje) vyvolají NotSupportedException, pokud jsou nastaveny — tato verze podporuje úpravy pouze metadat, nikoli úplné pře-autorování

Lehké, skriptovatelné úpravy

  • Přejmenovat vrstvy programově jako součást automatizovaného pipeline pro organizaci souborů
  • Přesunout nebo změnit velikost ohraničujícího rámečku vrstvy bez návrhového nástroje
  • Hromadně aktualizovat režimy prolnutí ve více souborech pro konzistenci

Prozkoumejte bloky zdrojů a stav dokumentu

  • PsdImage.ImageResources a GlobalLayerResources vystavují kolekce ResourceBlock/LayerResource
  • PsdImage.GlobalLayerMaskInfo hlásí informace o maskách vrstev v celém dokumentu
  • PsdImage.IsFlatten a HasTransparencyData hlásí příznaky na úrovni dokumentu
  • PsdLoadException a PsdSaveException zobrazují chyby načítání/ukládání s jasnými zprávami

Diagnostikovat a kontrolovat

  • Diagnostikujte, proč se konkrétní soubor PSD nedaří načíst, s typovanou výjimkou místo obecné chyby
  • Zkontrolujte, zda byl soubor uložen ve zploštělé podobě před dalším zpracováním
  • Prozkoumejte vložené bloky zdrojů pro metadata na úrovni formátu

Načtěte soubor PSD a prozkoumejte jeho vrstvy

Načtěte soubor pomocí Image.Load a přetypujte výsledek na PsdImage pro členy specifické pro 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}");

Upravit metadata vrstvy a uložit

Název vrstvy, ohraničení a režim prolnutí lze změnit přímo a uložit zpět na 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}");

Číst informace o kanálu (pouze pro čtení)

Informace o kanálech lze číst, ale nelze je přiřadit — pokus o nastavení vyvolá 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

Často kladené dotazy

Jaký je licenční model?

Aspose.PSD FOSS for .NET je licencován pod licencí MIT. Můžete jej používat, upravovat a šířit podle podmínek licence MIT, včetně komerčních produktů.

Jak nainstaluji Aspose.PSD FOSS for .NET?

Viz sekci instalace výše pro aktuální instalační příkaz.

Které formáty může Aspose.PSD FOSS for .NET číst a zapisovat?

Načítá a ukládá soubory PSD a PSB (Photoshop large document). Není schopna renderovat ani exportovat pixelová data do jiných rastrových formátů, jako jsou PNG nebo JPEG.

Jaká je hlavní vstupní třída?

PsdImage (podtřída třídy Image). Načtěte dokument pomocí PsdImage.Load, poté přečtěte jeho kolekci Layers a vlastnosti hlavičky.

Mohu upravit metadata vrstvy?

Ano — Layer poskytuje funkční setter pro několik vlastností, jako je viditelnost a název, a PsdImage.Layers samotné má funkční setter pro nahrazení kolekce. Několik konkrétních vlastností (informace o kanálech, data masky, rozsahy prolnutí a některé zdroje na úrovni dokumentu) je v této FOSS verzi jen ke čtení a při nastavení vyvolá NotSupportedException.

  

Podpora a vzdělávací materiály

 Čeština