Aspose.PSD FOSS for .NET egy ingyenes, MIT licencű, tiszta C# könyvtár a betöltéshez, vizsgálathoz,
és az Adobe Photoshop PSD és PSB fájlok mentéséhez, anélkül, hogy Adobe Photoshopra vagy bármilyen
tulajdonosi futtatókörnyezetre lenne szükség. Egy könnyű, önálló API középpontjában a PsdImage és
Layer, ad .NET fejlesztőknek programozott hozzáférést egy PSD dokumentum szerkezetéhez nélkül
natív függőségek nélkül a fordításhoz. A könyvtár beolvassa a PSD/PSB fájl méreteit, színmódját, bitmélységét és tömörítési
módszerét, és minden réteget elérhetővé tesz a PsdImage.Layers segítségével: minden Layer jelentést ad a nevéről,
határáról, átlátszóságáról, láthatóságáról és keverési mód kulcsáról (BlendMode), valamint alacsonyabb szintű
csatornainformációról (ChannelInformation) és maszkadatokról (LayerMaskData). A réteg metaadatok egy részhalmaza —
név, határok (Left/Top/Right/Bottom), és keverési mód — módosítható helyben, és vissza lehet menteni a lemezre a PsdImage.Save() segítségével; a
többi a felületen tervezés szerint csak olvasható ebben a FOSS kiadásban. Aspose.PSD FOSS for .NET MIT licencű. Telepítsd a következővel
dotnet add package Aspose.PSD.FOSS — a könyvtárnak nincsenek harmadik féltől származó natív
füg
őségei, csak a .NET BCL. Az vállalati termékcsaládért lásd a Aspose.PSD — Enterprise Product Family.
Image.Load(filePath) vagy Image.Load(stream) megnyit egy fájlt és visszaad egy Image-t, amelyet PSD-specifikus hozzáféréshez PsdImage-re kell castolniPsdImage.Width, Height és Size jelentik a vászon dimenzióitPsdImage.ColorMode (ColorModes), BitsPerChannel és Compression (CompressionMethod) leírják, hogyan van kódolva a pixeladatPsdImage.Version (PsdVersion) megkülönbözteti a szabványos PSD-t a nagy-dokumentumú PSB változattólPsdImage.Layers minden Layer-t visszaad a dokumentum sorrendjében; PsdImage.ActiveLayer jelzi, melyik a aktívLayer elérhetővé teszi a Name, Bounds, Opacity, IsVisible és a BlendModeKey (BlendMode) értékeketLayer.ChannelInformation és Layer.LayerMaskData csatorna- és maszk-metaadatokat fednek fel a mélyebb vizsgálathozLayer.ChannelsCount azt jelzi, hány képcsatornája van egy rétegnekLayer.Name, Layer.Left/Top/Right/Bottom, és Layer.BlendModeKey közvetlenül beállíthatóPsdImage.Save(filePath) vagy PsdImage.Save(stream) visszaírja a módosított dokumentumot a lemezenImage.Load segítségével bizonyítja, hogy a szerkesztések körkörösen helyesen működnekNotSupportedException-t dobnak, ha beállítják őket — ez a build csak metaadat-szerkesztéseket támogat, nem teljes újra-szerkesztéstPsdImage.ImageResources és a GlobalLayerResources a ResourceBlock/LayerResource gyűjteményeket teszik elérhetővéPsdImage.GlobalLayerMaskInfo a dokumentumra kiterjedő rétegmaszk információkat jelentiPsdImage.IsFlatten és a HasTransparencyData a dokumentumszintű jelzőket jelentikPsdLoadException és a PsdSaveException a betöltési/mentési hibákat jelenítik meg egyértelmű üzenetekkelTöltsön be egy fájlt az Image.Load segítségével, és konvertálja az eredményt PsdImage típusra a PSD-specifikus tagokhoz.
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}");
A réteg neve, határai és keverési módja helyben módosítható, és vissza menthető a lemezen.
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}");
A csatornainformációk olvashatók, de nem rendelhetők újra — a beállításuk megkísérlése NotSupportedException-t dob.
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
Aspose.PSD FOSS for .NET MIT licenc alatt áll. Használhatja, módosíthatja és terjesztheti a MIT licenc feltételei szerint, beleértve a kereskedelmi termékeket is.
Lásd a fenti telepítési szakaszt az aktuális telepítési parancshoz.
Betölti és menti a PSD és PSB (Photoshop nagy dokumentum) fájlokat. Nem rendereli vagy exportálja a képpontadatokat más raszteres formátumokba, például PNG vagy JPEG.
PsdImage (az Image alosztálya). Töltsön be egy dokumentumot a PsdImage.Load segítségével, majd olvassa el a Layers gyűjteményét és a fejléc tulajdonságait.
Igen — Layer több tulajdonságnak (például láthatóságnak és névnek) működő beállítót biztosít, és a PsdImage.Layers maga is rendelkezik működő beállítóval a gyűjtemény cseréjéhez. Néhány konkrét tulajdonság (csatorna-információ, maszkadatok, keverési tartományok és néhány dokumentumszintű erőforrás) csak olvasható ebben a FOSS buildben, és NotSupportedException-t dob, ha beállítják.