Resources

Resources

एक लोड किया गया PsdImage अपनी इमेज रिसोर्स ब्लॉक्स — ग्रिड, गाइड, और ICC प्रोफ़ाइल पेलोड जैसे मेटाडाटा-शैली प्रविष्टियों — दो पढ़ने-के-लिए-केवल दृश्यों के माध्यम से प्रकट करता है, साथ ही अनुक्रमित रंग पैलेट के लिए एक अलग सारांश भी देता है।


रिसोर्स ब्लॉक्स की सूची

PsdImage.image_resources प्रत्येक संसाधन के लिए एक PreservedResourceBlock लौटाता है, जिसमें कच्चा रिसोर्स ID, नाम, और बाइट आकार शामिल है:

from aspose_psd_foss.psdimage import PsdImage
from aspose_psd_foss.resources.imageresourceids import ImageResourceIds

image = PsdImage.load(input_path)

for block in image.image_resources:
    print(f"ID: {block.id}, name: {block.name!r}, size: {block.size} bytes")

PsdImage.resources इसके बजाय प्रत्येक संसाधन के लिए एक अलग PsdResourceInfo सारांश लौटाता है, जिसमें एक kind वर्गीकरण जोड़ा जाता है — इस FOSS बिल्ड में kind हमेशा PsdResourceKind.UNKNOWN रहता है, क्योंकि इस बिल्ड का रिसोर्स पार्सर विशिष्ट रिसोर्स ID को सार्थक गुणों में डिकोड नहीं करता।


ज्ञात रिसोर्स ID को पहचानना

चूँकि kind को अर्थात्मक रूप से हल नहीं किया गया है, एक विशिष्ट संसाधन को block.id की तुलना ImageResourceIds में स्थिरांक से करके पहचाना जा सकता है:

for block in image.image_resources:
    if block.id == ImageResourceIds.ICC_PROFILE:
        print(f"Found an ICC profile resource ({block.data_size} bytes)")

इंडेक्स्ड कलर पैलेट पढ़ना

यदि दस्तावेज़ का रंग डेटा पैलेट-आधारित है, तो PsdImage.indexed_palette उसके प्रविष्टियों को लौटाता है:

palette = image.indexed_palette

if palette is not None:
    print(f"Palette entries: {len(palette.entries)}")

टिप्स और सर्वोत्तम प्रथाएँ

  • PsdImage.image_resources का गेटर संसाधनों को सूचीबद्ध करने के लिए काम करता है, लेकिन इसका सेटर NotSupportedException उत्पन्न करता है — इस FOSS बिल्ड में संसाधन केवल-पढ़ने योग्य हैं।
  • PsdImage.has_icc_profile, is_icc_profile_untagged, और global_angle इस FOSS बिल्ड में निश्चित प्लेसहोल्डर मान हैं (हमेशा क्रमशः False, None, और 0) लोड किए गए दस्तावेज़ की वास्तविक सामग्री से परे — यदि आपको स्वयं इन संसाधनों का पता लगाना हो तो ऊपर दिए गए resource-ID तुलना पैटर्न का उपयोग करें।
  • PreservedResourceBlock.save() सीधे कॉल करने पर NotImplementedError उत्पन्न करता है — जब आप पूरे दस्तावेज़ पर image.save() कॉल करते हैं तो संसाधन स्वचालित रूप से राउंड-ट्रिप होते हैं।

सामान्य समस्याएँ

समस्याकारणसमाधान
image.indexed_palette है Noneदस्तावेज़ का रंग डेटा प्रकार INDEXED_PALETTE नहीं हैकेवल indexed-color दस्तावेज़ एक पैलेट रखते हैं
NotSupportedException सेटिंग image.image_resourcesइस FOSS बिल्ड में सेटर समर्थित नहीं हैimage_resources को केवल-पढ़ने योग्य मानें
has_icc_profile / is_icc_profile_untagged / global_angle कभी न बदलेंइन 3 प्रॉपर्टीज़ को इस FOSS बिल्ड में हार्डकोडेड प्लेसहोल्डर स्टब्स के रूप में शामिल किया गया हैइसके बजाय block.id की तुलना ImageResourceIds से करें (ऊपर देखें)

FAQ

image_resources और resources के बीच क्या अंतर है?

दोनों समान अंतर्निहित रिसोर्स ब्लॉक्स को सूचीबद्ध करते हैं, लेकिन अलग-अलग ऑब्जेक्ट प्रकारों के रूप में: image_resources PreservedResourceBlock ऑब्जेक्ट्स लौटाता है (कच्चा ID/नाम/आकार, राउंड-ट्रिपिंग के लिए उपयोग किया जाता है), जबकि resources PsdResourceInfo सारांश लौटाता है (kind वर्गीकरण जोड़ता है, वर्तमान में हमेशा UNKNOWN होता है)।

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

नहीं — image_resources का setter NotSupportedException उठाता है, और PreservedResourceBlock.save() सीधे कॉल किए जाने पर NotImplementedError उठाता है। इस FOSS बिल्ड में रिसोर्स पढ़ने-केवल हैं।


API Reference सारांश

क्लास/मेथडविवरण
PsdImage.image_resourcesकच्चे संसाधन ब्लॉक्स (PreservedResourceBlock, केवल-पढ़ने योग्य)
PsdImage.resourcesसंसाधन सारांश (PsdResourceInfo, kind हमेशा UNKNOWN)
PsdImage.indexed_paletteइंडेक्स्ड रंग पैलेट सारांश, जब उपलब्ध हो
ImageResourceIdsजाने हुए संसाधन ID स्थिरांक resource_id/id के विरुद्ध तुलना के लिए

यह भी देखें

 हिन्दी