1. Termékek
  2.   Aspose.PSD
  3.   Aspose.PSD FOSS for .NET

Aspose.PSD FOSS .NET platformhoz

Nyílt forráskódú .NET könyvtár a PSD/PSB fájlok betöltéséhez, vizsgálatához és mentéséhez, réteg metaadat-hozzáféréssel. MIT licenc alatt, Adobe Photoshop nélkül.

Nyílt forráskódú .NET könyvtár PSD/PSB fájlokhoz

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.

PSD/PSB fájlok betöltése és ellenőrzése

  • 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 castolni
  • PsdImage.Width, Height és Size jelentik a vászon dimenzióit
  • PsdImage.ColorMode (ColorModes), BitsPerChannel és Compression (CompressionMethod) leírják, hogyan van kódolva a pixeladat
  • PsdImage.Version (PsdVersion) megkülönbözteti a szabványos PSD-t a nagy-dokumentumú PSB változattól

Tervezési fájlok ellenőrzése és katalogizálása

  • Érvényesítse a tervezési fájlok egy kötegét, mielőtt átadná egy lejjebb lévő folyamatnak
  • Készítsen egy könnyűsúlyú eszközkatalógust a PSD/PSB méretekről és színmódokról
  • Azonosítsa a PSB (nagy dokumentumú) fájlokat, amelyeknek eltérő kezelésre van szükségük a szokásos PSD-hez képest

Munkavégzés rétegekkel

  • PsdImage.Layers minden Layer-t visszaad a dokumentum sorrendjében; PsdImage.ActiveLayer jelzi, melyik a aktív
  • Minden Layer elérhetővé teszi a Name, Bounds, Opacity, IsVisible és a BlendModeKey (BlendMode) értékeket
  • Layer.ChannelInformation és Layer.LayerMaskData csatorna- és maszk-metaadatokat fednek fel a mélyebb vizsgálathoz
  • Layer.ChannelsCount azt jelzi, hány képcsatornája van egy rétegnek

Audit réteg struktúrája

  • Auditálja egy PSD rétegstruktúráját Photoshop megnyitása nélkül
  • Készítsen jelentést a rétegnevekről, láthatóságról és keverési módokról a tervezési felülvizsgálathoz
  • Azonosítsa a korábbi szerkesztésekből maradt rejtett vagy nulla átlátszóságú rétegeket

Alapvető réteg metaadatok szerkesztése

  • Layer.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 lemezen
  • Egy mentett fájl újratöltése a Image.Load segítségével bizonyítja, hogy a szerkesztések körkörösen helyesen működnek
  • A fentiekben felsorolatlan tulajdonságok (csatorna információk, maszk adatok, keverési tartományok, kép erőforrások) NotSupportedException-t dobnak, ha beállítják őket — ez a build csak metaadat-szerkesztéseket támogat, nem teljes újra-szerkesztést

Könnyű, szkriptelhető szerkesztések

  • Rétegek átnevezése programozott módon egy automatizált fájl-szervezési csővezeték részeként
  • Egy réteg határolókeretének áthelyezése vagy átméretezése tervezőeszköz nélkül
  • Keverési módok kötegelt frissítése sok fájlban a konzisztencia érdekében

Ellenőrizze az erőforrás blokkokat és a dokumentum állapotát

  • PsdImage.ImageResources és a GlobalLayerResources a ResourceBlock/LayerResource gyűjteményeket teszik elérhetővé
  • PsdImage.GlobalLayerMaskInfo a dokumentumra kiterjedő rétegmaszk információkat jelenti
  • PsdImage.IsFlatten és a HasTransparencyData a dokumentumszintű jelzőket jelentik
  • PsdLoadException és a PsdSaveException a betöltési/mentési hibákat jelenítik meg egyértelmű üzenetekkel

Diagnosztizálás és ellenőrzés

  • Diagnosztizálja, miért nem sikerül betölteni egy adott PSD fájlt, típusos kivétellel egy általános hiba helyett
  • Ellenőrizze, hogy a fájl lapos (flattened) formában lett-e mentve a további feldolgozás előtt
  • Vizsgálja meg a beágyazott erőforrásblokkokat a formátumszintű metaadatokért

Töltsön be egy PSD fájlt, és tekintse meg a rétegeket

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

Réteg metaadatainak szerkesztése és mentése

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

Csatorna információ olvasása (csak olvasható)

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

Gyakran ismételt kérdések

Mi a licencelési modell?

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.

Hogyan telepíthetem a Aspose.PSD FOSS for .NET?

Lásd a fenti telepítési szakaszt az aktuális telepítési parancshoz.

Mely formátumokat képes a Aspose.PSD FOSS for .NET olvasni és írni?

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.

Mi a fő belépési pont osztálya?

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.

Módosíthatom a réteg metaadatait?

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.

  

Támogatás és tanulási források

 Magyar