कैसे काम करें Aspose.PSD FOSS कोर API को .NET में

कैसे काम करें Aspose.PSD FOSS कोर API को .NET में

Aspose.PSD FOSS for .NET PSD/PSB दस्तावेज़ संरचना को PsdImage के माध्यम से लोड और निरीक्षण करता है, जो Image की एक उपवर्ग है। यह लेख दस्तावेज़ को लोड करने, उसके हेडर और इमेज संसाधनों को पढ़ने, और उसे डिस्क पर वापस सहेजने को कवर करता है।

स्टेप-बाय-स्टेप गाइड

स्टेप 1: पैकेज स्थापित करें

git clone https://github.com/aspose-psd-foss/Aspose.PSD-FOSS-for-.NET.git
cd Aspose.PSD-FOSS-for-.NET
dotnet build

स्टेप 2: आवश्यक कक्षाओं को इम्पोर्ट करें

using Aspose.PSD.FileFormats.Psd;

स्टेप 3: एक PSD/PSB दस्तावेज़ लोड करें

PsdImage.Load फ़ाइल पथ या स्ट्रीम से एक दस्तावेज़ खोलता है:

using var image = PsdImage.Load("input.psd");

चरण 4: दस्तावेज़ हेडर की जाँच करें

PsdImage पार्स किए गए दस्तावेज़ से पढ़े गए हेडर फ़ील्ड्स को उजागर करता है: Width, Height, BitsPerChannel, ColorMode (a ColorModes value), और Compression (a CompressionMethod value):

Console.WriteLine($"{image.Width}x{image.Height}, {image.BitsPerChannel} bpc");
Console.WriteLine($"Color mode: {image.ColorMode}");   // e.g. ColorModes.Rgb
Console.WriteLine($"Compression: {image.Compression}"); // e.g. CompressionMethod.RLE
Console.WriteLine($"Flattened: {image.IsFlatten}");

ColorModes मानों में Bitmap, Grayscale, Indexed, Rgb, और Cmyk शामिल हैं, अन्य में (Multichannel, Duotone, Lab) भी हैं। CompressionMethod मान हैं Raw, RLE, ZipWithoutPrediction, और एक ZIP-with-prediction संस्करण।


चरण 5: इमेज रिसोर्स ब्लॉक्स पढ़ें

ImageResources दस्तावेज़ के पार्स किए गए ResourceBlock प्रविष्टियों को लौटाता है। प्रत्येक ब्लॉक ID, Name, और Size को उजागर करता है:

foreach (var resource in image.ImageResources)
{
    Console.WriteLine($"Resource {resource.ID} \"{resource.Name}\" - {resource.Size} bytes");
}

ImageResources इस FOSS बिल्ड में केवल-पढ़ने योग्य है — इसे असाइन करने पर त्रुटि उत्पन्न होती है NotSupportedException (Known Limitations देखें FAQ).


चरण 6: दस्तावेज़ को सहेजें

image.Save("output.psd");

आम समस्याएँ और समाधान

PsdLoadException फ़ाइल लोड करते समय। इनपुट एक मान्य PSD/PSB दस्तावेज़ नहीं है, या इसका हेडर वैधता जांच में विफल रहा। लोड करने से पहले पुष्टि करें कि फ़ाइल एक वास्तविक PSD/PSB फ़ाइल है।

NotSupportedException सेट करते समय ImageResources or GlobalLayerResources. इन सेटर्स को इस FOSS बिल्ड में समर्थन नहीं है। मानें ImageResources को केवल-पढ़ने योग्य के रूप में।

ColorMode or Compression नाम के बजाय संख्यात्मक मान के रूप में प्रिंट करता है। प्रॉपर्टी को स्पष्ट रूप से उसके enum प्रकार में कास्ट करें, या उपयोग करें .ToString(), पठनीय नाम प्राप्त करने के लिए (ColorModes.Rgb, नहीं 3).

अक्सर पूछे जाने वाले प्रश्न

क्या मैं फ़ाइल पथ की बजाय स्ट्रीम से PSD फ़ाइल लोड कर सकता हूँ?

हाँ — PsdImage.Load में एक ओवरलोड है जो Stream स्वीकार करता है।

क्या ImageResources में लेयर डेटा शामिल है?

नहीं। ImageResources डॉक्यूमेंट-लेवल रिसोर्स ब्लॉक्स को धारण करता है (PSD इमेज रिसोर्सेज सेक्शन से पार्स किया गया)। लेयर-लेवल डेटा को पढ़ा जाता है के माध्यम से PsdImage.Layers — देखें लेयर्स के साथ काम करना.

क्या PsdImage.Version PSD फ़ाइल फॉर्मेट संस्करण है?

नहीं। PsdImage.Version एक आंतरिक Aspose.PSD-संगत API संस्करण संख्या रिपोर्ट करता है (वर्तमान में 6) — यह इस बात से असंबंधित है कि लोड की गई फ़ाइल PSD है या PSB।

यह भी देखें

 हिन्दी