PsdImage और Layer के आसपास केन्द्रित है, जिससे .NET डेवलपर्स को PSD दस्तावेज़ की संरचना तक प्रोग्रामेटिक पहुँच मिलती है, बिना किसी नेटिव निर्भरताओं के जिन्हें संकलित करना पड़े। लाइब्रेरी एक PSD/PSB फ़ाइल के आयाम, रंग मोड, बिट डेप्थ और संपीड़न विधि को पढ़ती है, और प्रत्येक लेयर को PsdImage.Layers के माध्यम से उजागर करती है: प्रत्येक Layer अपना नाम, सीमाएँ, अपारदर्शिता, दृश्यता, और ब्लेंड मोड कुंजी (BlendMode) रिपोर्ट करता है, साथ ही निचले स्तर की चैनल जानकारी (ChannelInformation) और मास्क डेटा (LayerMaskData) भी। लेयर मेटाडाटा का एक उपसमुच्चय — नाम, सीमाएँ (Left/Top/Right/Bottom), और ब्लेंड मोड — को स्थान पर संशोधित किया जा सकता है और PsdImage.Save() के साथ डिस्क पर सहेजा जा सकता है; इस FOSS बिल्ड में सतह पर बाकी सब कुछ डिजाइन के अनुसार केवल-पढ़ने योग्य है। Aspose.PSD FOSS for .NET MIT लाइसेंस वाला है। इसे स्थापित करें dotnet add package Aspose.PSD.FOSS — इस लाइब्रेरी की कोई थर्ड-पार्टी नेटिव निर्भरताएँ नहीं हैं, केवल .NET BCL। एंटरप्राइज़ उत्पाद परिवार के लिए देखें Aspose.PSD — Enterprise Product Family.Image.Load(filePath) या Image.Load(stream) एक फ़ाइल खोलता है और एक Image लौटाता है, PSD-विशिष्ट पहुँच के लिए PsdImage में कास्ट किया जाता हैPsdImage.Width, Height, और Size कैनवास के आयामों की रिपोर्ट करते हैंPsdImage.ColorMode (ColorModes), BitsPerChannel, और Compression (CompressionMethod) वर्णन करते हैं कि पिक्सेल डेटा कैसे एन्कोड किया गया हैPsdImage.Version (PsdVersion) मानक PSD को बड़े-डॉक्यूमेंट PSB वैरिएंट से अलग करता हैPsdImage.Layers दस्तावेज़ क्रम में हर Layer को लौटाता है; PsdImage.ActiveLayer बताता है कि कौन सा सक्रिय हैLayer Name, Bounds, Opacity, IsVisible, और BlendModeKey (BlendMode) को उजागर करता हैLayer.ChannelInformation और Layer.LayerMaskData गहरी जाँच के लिए चैनल और मास्क मेटाडेटा को उजागर करते हैंLayer.ChannelsCount रिपोर्ट करता है कि एक लेयर में कितने इमेज चैनल होते हैंLayer.Name, Layer.Left/Top/Right/Bottom, और Layer.BlendModeKey को सीधे सेट किया जा सकता हैPsdImage.Save(filePath) या PsdImage.Save(stream) संशोधित दस्तावेज़ को डिस्क पर वापस सहेजता हैImage.Load के साथ सहेजी गई फ़ाइल को पुनः लोड करने से संपादनों की राउंड-ट्रिप सही होने की पुष्टि होती हैNotSupportedException उत्पन्न होती है — यह बिल्ड केवल मेटाडाटा-केवल संपादन का समर्थन करता है, पूर्ण पुनः-लेखन नहींPsdImage.ImageResources और GlobalLayerResources ResourceBlock/LayerResource संग्रह को उजागर करते हैंPsdImage.GlobalLayerMaskInfo दस्तावेज़-व्यापी लेयर मास्क जानकारी रिपोर्ट करता हैPsdImage.IsFlatten और HasTransparencyData दस्तावेज़-स्तर के फ़्लैग रिपोर्ट करते हैंPsdLoadException और PsdSaveException स्पष्ट संदेशों के साथ लोड/सेव त्रुटियों को प्रदर्शित करते हैंफ़ाइल को Image.Load के साथ लोड करें और परिणाम को PsdImage में कास्ट करें ताकि 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}");
लेयर का नाम, सीमाएँ, और ब्लेंड मोड को स्थान पर बदलकर डिस्क पर वापस सहेजा जा सकता है।
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}");
Channel information को पढ़ा जा सकता है लेकिन पुनः असाइन नहीं किया जा सकता — इसे सेट करने का प्रयास करने पर 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
Aspose.PSD FOSS for .NET MIT लाइसेंस के तहत लाइसेंस प्राप्त है। आप इसे MIT लाइसेंस की शर्तों के अनुसार उपयोग, संशोधित और पुनर्वितरित कर सकते हैं, जिसमें व्यावसायिक उत्पाद भी शामिल हैं।
वर्तमान इंस्टॉल कमांड के लिए ऊपर दिए गए इंस्टॉल सेक्शन को देखें।
यह PSD और PSB (Photoshop बड़े दस्तावेज़) फ़ाइलों को लोड और सहेजता है। यह PNG या JPEG जैसे अन्य रास्टर फ़ॉर्मैट्स में पिक्सेल डेटा को रेंडर या एक्सपोर्ट नहीं करता।
PsdImage (Image का एक उपवर्ग). PsdImage.Load से कोई दस्तावेज़ लोड करें, फिर उसकी Layers संग्रह और हेडर प्रॉपर्टीज़ पढ़ें।
हाँ — Layer कई गुणों के लिए एक कार्यशील सेट्टर प्रदान करता है, जैसे दृश्यता और नाम, और PsdImage.Layers स्वयं संग्रह को बदलने के लिए एक कार्यशील सेट्टर रखता है। कुछ विशिष्ट गुण (चैनल जानकारी, मास्क डेटा, ब्लेंडिंग रेंजेज, और कुछ दस्तावेज़-स्तर संसाधन) इस FOSS बिल्ड में केवल-पढ़ने योग्य हैं और सेट करने पर NotSupportedException फेंकते हैं।