कोर API
कोर API
PsdImage PSD/PSB दस्तावेज़ों को लोड करने, निरीक्षण करने और सहेजने के लिए प्रवेश बिंदु है। यह अमूर्त Image बेस क्लास का विस्तार करता है, जो केवल load() घोषित करता है — दस्तावेज़ सतह का बाकी हिस्सा (width, height, save(), context-manager समर्थन) PsdImage में ही परिभाषित है, विरासत में नहीं मिला।
दस्तावेज़ लोड करना और सहेजना
Image.load() फ़ाइल पथ या स्ट्रीम को स्वीकार करता है और एक Image लौटाता है; PSD/PSB इनपुट के लिए यह हमेशा एक PsdImage होता है, इसलिए दस्तावेज़ सतह स्पष्ट कास्ट के बिना तुरंत उपलब्ध होती है। PsdImage स्वचालित सफाई के लिए with कथन का भी समर्थन करता है, और PsdImage.save() दस्तावेज़ को फ़ाइल पथ या स्ट्रीम पर फिर से लिखता है।
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load(input_path) as image:
# ... inspect or edit ...
image.save(output_path)दस्तावेज़ हेडर गुण
PsdImage पार्स किए गए हेडर को टाइप्ड प्रॉपर्टीज़ के रूप में उजागर करता है: width, height, bits_per_channel, color_mode, version, compression, size, और is_flatten।
print(f"Width: {image.width}, Height: {image.height}")
print(f"ColorMode: {image.color_mode}, Version: {image.version}")
print(f"Compression: {image.compression}, IsFlatten: {image.is_flatten}")छवि संसाधन
PsdImage.image_resources ResourceBlock वस्तुओं की पार्स की गई सूची लौटाता है। इस FOSS बिल्ड में, image_resources, global_layer_resources, active_layer, और has_transparency_data को पढ़ा जा सकता है लेकिन पुनः असाइन नहीं किया जा सकता — उनके सेटर्स NotSupportedException उत्पन्न करते हैं।
for resource in image.image_resources:
print(f"Resource {resource.id}: {resource.name} ({resource.data_size} bytes)")टिप्स और सर्वोत्तम प्रथाएँ
Image.load()पहले ही PSD/PSB इनपुट के लिए एकPsdImageलौटाता है — कोई कास्ट आवश्यक नहीं है, इस लाइब्रेरी के कुछ अन्य भाषा पोर्ट्स के विपरीत।withकथन का उपयोग करें;PsdImageसफाई के लिए कॉन्टेक्स्ट-मैनेजर प्रोटोकॉल का समर्थन करता है।- भले ही वे एक सेट्टर उजागर करते हैं,
image_resources,global_layer_resources,active_layer, औरhas_transparency_dataको केवल-पढ़ने योग्य मानें। - इंडेक्सिंग करने से पहले
image.layer_countकी जाँच करेंimage.layersमें — एक समतल दस्तावेज़ में शून्य परतें हो सकती हैं।
सामान्य समस्याएँ
| समस्या | कारण | समाधान |
|---|---|---|
NotSupportedException जब image_resources सेट किया जा रहा है | यह प्रॉपर्टी FOSS बिल्ड में केवल-पढ़ने योग्य है, जबकि इसमें एक सेट्टर है। | मान पढ़ें; इसे पुनः असाइन करने का प्रयास न करें। |
समतल दस्तावेज़ पर खाली image.layers सूची | is_flatten True है और दस्तावेज़ में कोई पार्स किए गए लेयर नहीं हैं। | इंडेक्स करने से पहले image.layer_count (या image.is_flatten) को image.layers में जाँचें |
FAQ
क्या PSD दस्तावेज़ लोड करने से पिक्सेल डेटा डिकोड होता है?
नहीं। PsdImage.load() दस्तावेज़ हेडर, लेयर मेटाडेटा, और संसाधनों को डिकोड या पिक्सेल डेटा रेंडर किए बिना पार्स करता है।
क्या मैं PSD फ़ाइल को किसी अन्य इमेज फ़ॉर्मेट में परिवर्तित कर सकता हूँ?
नहीं। यह लाइब्रेरी केवल PSD/PSB दस्तावेज़ लोड करती है, निरीक्षण करती है और सहेजती है — यह पिक्सेल डेटा रेंडर नहीं करती या अन्य इमेज फ़ॉर्मेट में परिवर्तित नहीं करती।
API Reference सारांश
| क्लास/मेथड | विवरण |
|---|---|
Image.load(path) / Image.load(stream) | एक PSD या PSB दस्तावेज़ लोड करता है |
PsdImage.save(path) / PsdImage.save(stream) | दस्तावेज़ को सहेजता है |
PsdImage.width / height / bits_per_channel / color_mode / version / compression / size / is_flatten | दस्तावेज़ हेडर गुण |
PsdImage.image_resources | पार्स किए गए इमेज रिसोर्स ब्लॉक्स (केवल-रीड) |