1. उत्पादों
  2.   Aspose.PSD
  3.   Aspose.PSD FOSS for .NET

.NET के लिए Aspose.PSD FOSS

ओपन-सोर्स .NET लाइब्रेरी लोडिंग, निरीक्षण और PSD/PSB फ़ाइलों को सेव करने के लिए, लेयर मेटाडेटा एक्सेस के साथ। MIT लाइसेंस्ड, कोई Adobe Photoshop आवश्यक नहीं।

ओपन-सोर्स .NET लाइब्रेरी PSD/PSB फ़ाइलों के लिए

Aspose.PSD FOSS for .NET एक मुफ्त, MIT-लाइसेंस वाला, शुद्ध C# लाइब्रेरी है जो Adobe Photoshop PSD और PSB फ़ाइलों को लोड, निरीक्षण और सहेजने के लिए है, बिना Adobe Photoshop या किसी भी स्वामित्व वाले रनटाइम की आवश्यकता के। यह एक हल्का, स्टैंडअलोन API प्रदान करता है जो 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.

PSD/PSB फ़ाइलें लोड करें और निरीक्षण करें

  • Image.Load(filePath) या Image.Load(stream) एक फ़ाइल खोलता है और एक Image लौटाता है, PSD-विशिष्ट पहुँच के लिए PsdImage में कास्ट किया जाता है
  • PsdImage.Width, Height, और Size कैनवास के आयामों की रिपोर्ट करते हैं
  • PsdImage.ColorMode (ColorModes), BitsPerChannel, और Compression (CompressionMethod) वर्णन करते हैं कि पिक्सेल डेटा कैसे एन्कोड किया गया है
  • PsdImage.Version (PsdVersion) मानक PSD को बड़े-डॉक्यूमेंट PSB वैरिएंट से अलग करता है

डिज़ाइन फ़ाइलों को सत्यापित और सूचीबद्ध करें

  • डिज़ाइन फ़ाइलों के एक बैच को वैध करें, इससे पहले कि उन्हें डाउनस्ट्रीम प्रक्रिया को सौंपा जाए
  • PSD/PSB आयामों और रंग मोडों का एक हल्का एसेट कैटलॉग बनाएं
  • PSB (large-document) फ़ाइलों का पता लगाएँ जिन्हें मानक PSD की तुलना में अलग तरह से संभालने की आवश्यकता है

लेयर्स के साथ काम करें

  • PsdImage.Layers दस्तावेज़ क्रम में हर Layer को लौटाता है; PsdImage.ActiveLayer बताता है कि कौन सा सक्रिय है
  • प्रत्येक Layer Name, Bounds, Opacity, IsVisible, और BlendModeKey (BlendMode) को उजागर करता है
  • Layer.ChannelInformation और Layer.LayerMaskData गहरी जाँच के लिए चैनल और मास्क मेटाडेटा को उजागर करते हैं
  • Layer.ChannelsCount रिपोर्ट करता है कि एक लेयर में कितने इमेज चैनल होते हैं

ऑडिट लेयर संरचना

  • PSD की लेयर संरचना को फ़ोटोशॉप खोले बिना ऑडिट करें
  • डिजाइन समीक्षा के लिए लेयर नाम, दृश्यता और ब्लेंड मोड की रिपोर्ट बनाएं
  • पहले के संपादनों से बची छिपी या शून्य-अपारदर्शिता वाली लेयर्स की पहचान करें

बेसिक लेयर मेटाडाटा संपादित करें

  • 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 स्पष्ट संदेशों के साथ लोड/सेव त्रुटियों को प्रदर्शित करते हैं

निदान और निरीक्षण

  • यह पता लगाएँ कि किसी विशिष्ट PSD फ़ाइल का लोड न होना क्यों हो रहा है, सामान्य त्रुटि के बजाय एक टाइप्ड एक्सेप्शन के साथ
  • आगे की प्रोसेसिंग से पहले जाँचें कि फ़ाइल फ्लैटन रूप में सेव की गई थी या नहीं
  • फ़ॉर्मेट-स्तरीय मेटाडाटा के लिए एम्बेडेड रिसोर्स ब्लॉक्स का निरीक्षण करें

एक PSD फ़ाइल लोड करें और उसकी लेयर्स की जाँच करें

फ़ाइल को 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 लाइसेंस की शर्तों के अनुसार उपयोग, संशोधित और पुनर्वितरित कर सकते हैं, जिसमें व्यावसायिक उत्पाद भी शामिल हैं।

मैं Aspose.PSD FOSS for .NET को कैसे स्थापित करूँ?

वर्तमान इंस्टॉल कमांड के लिए ऊपर दिए गए इंस्टॉल सेक्शन को देखें।

कौन-से फ़ॉर्मेट Aspose.PSD FOSS for .NET पढ़ और लिख सकता है?

यह PSD और PSB (Photoshop बड़े दस्तावेज़) फ़ाइलों को लोड और सहेजता है। यह PNG या JPEG जैसे अन्य रास्टर फ़ॉर्मैट्स में पिक्सेल डेटा को रेंडर या एक्सपोर्ट नहीं करता।

मुख्य एंट्री-पॉइंट क्लास कौन सी है?

PsdImage (Image का एक उपवर्ग). PsdImage.Load से कोई दस्तावेज़ लोड करें, फिर उसकी Layers संग्रह और हेडर प्रॉपर्टीज़ पढ़ें।

क्या मैं लेयर मेटाडेटा को संशोधित कर सकता हूँ?

हाँ — Layer कई गुणों के लिए एक कार्यशील सेट्टर प्रदान करता है, जैसे दृश्यता और नाम, और PsdImage.Layers स्वयं संग्रह को बदलने के लिए एक कार्यशील सेट्टर रखता है। कुछ विशिष्ट गुण (चैनल जानकारी, मास्क डेटा, ब्लेंडिंग रेंजेज, और कुछ दस्तावेज़-स्तर संसाधन) इस FOSS बिल्ड में केवल-पढ़ने योग्य हैं और सेट करने पर NotSupportedException फेंकते हैं।

  

समर्थन और सीखने के संसाधन

 हिन्दी