Layers

Layers

PsdImage.layers प्रत्येक पार्स की गई परत को Layer ऑब्जेक्ट्स की सूची के रूप में लौटाता है। प्रत्येक Layer अपनी ज्यामिति, दृश्यता और संयोजन स्थिति, तथा इसके चैनल, मास्क, और ब्लेंडिंग रेंज के बारे में मेटाडेटा उजागर करता है।


परत मेटाडेटा पढ़ना

name, bounds (और व्युत्पन्न width/height/top/left/bottom/right), is_visible, opacity, clipping, blend_mode_key, और channels_count सभी सीधे पढ़े जा सकते हैं।

from aspose_psd_foss.psdimage import PsdImage

with PsdImage.load("input.psd") as image:
    for layer in image.layers:
        print(f"{layer.name}: {layer.bounds}, "
              f"Visible={layer.is_visible}, Opacity={layer.opacity}, "
              f"BlendMode={layer.blend_mode_key}")

समर्थित मेटाडेटा संपादन

name, is_visible, opacity, clipping, blend_mode_key, और चार सीमा किनारे (top/left/bottom/right) को स्थान पर बदला जा सकता है और PsdImage.save() के साथ पुन: लिखा जा सकता है।

from aspose_psd_foss.psdimage import PsdImage
from aspose_psd_foss.layers.blendmode import BlendMode

with PsdImage.load("input.psd") as image:
    layer = image.layers[0]
    layer.name = f"{layer.name} (edited)"
    layer.is_visible = not layer.is_visible
    layer.opacity = 128
    layer.blend_mode_key = BlendMode.MULTIPLY
    image.save("output.psd")

चैनल और मास्क मेटाडेटा

channel_information, layer_mask_data, और layer_blending_ranges_data इस FOSS बिल्ड में केवल-पढ़ने योग्य हैं — उनके सेटर्स NotSupportedException उठाते हैं।

layer = image.layers[0]
for channel in layer.channel_information:
    print(f"Channel {channel.ChannelID}: {channel.compression_method}, {channel.length} bytes")

if layer.has_mask_data:
    mask = layer.layer_mask_data
    print(f"Mask bounds: {mask.mask_rectangle}, flags: {mask.flags}")

लेयर्स को हटाना या पुन:क्रमित करना

PsdImage.layers में एक सेट्टर और एक गेट्टर दोनों होते हैं: फ़िल्टर की गई या पुन:क्रमित सूची को असाइन करने से दस्तावेज़ की लेयर संग्रह बदल जाता है।

from aspose_psd_foss.psdimage import PsdImage

with PsdImage.load("input.psd") as image:
    image.layers = [layer for layer in image.layers if layer.is_visible]
    image.save("output.psd")

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

  • स्थिति द्वारा image.layers में इंडेक्स करें; सूची क्रम दस्तावेज़ के अपने लेयर क्रम से मेल खाता है।
  • blend_mode_key कोई भी BlendMode एन्हम मान स्वीकार करता है — दस्तावेज़ के घोषित रंग मोड के विरुद्ध कोई सत्यापन नहीं किया जाता।
  • channel_information, layer_mask_data, और layer_blending_ranges_data को पढ़ा जा सकता है लेकिन कभी पुनः असाइन नहीं किया जा सकता।
  • सभी संपादन के बाद PsdImage.save() को एक बार कॉल करें; प्रत्येक कॉल पूर्ण दस्तावेज़ को लिखता है।

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

समस्याकारणसमाधान
NotSupportedException जब channel_information, layer_mask_data, या layer_blending_ranges_data सेट किया जाता हैइन 3 प्रॉपर्टीज़ को FOSS बिल्ड में रीड-ओनली माना जाता है, बावजूद इसके कि उनका सेट्टर मौजूद हैमान पढ़ें; इसे पुनः असाइन करने का प्रयास न करें
layer_mask_data एक्सेस जब कोई मास्क न होहर लेयर में मास्क उपविभाग नहीं होतापढ़ने से पहले layer.has_mask_data जाँचें layer.layer_mask_data

FAQ

क्या मैं लेयर हटा सकता हूँ?

हाँ — image.layers को फ़िल्टर की गई सूची में पुनः असाइन करें।

क्या मैं लेयर के चैनल या मास्क डेटा को बदल सकता हूँ?

नहीं। channel_information, layer_mask_data, और layer_blending_ranges_data केवल-पढ़ने योग्य हैं — केवल name, is_visible, opacity, clipping, blend_mode_key, और बाउंड्स किनारे बदले जा सकते हैं।


API Reference सारांश

क्लास/मेथडविवरण
PsdImage.layersलेयर संग्रह को प्राप्त करता है या सेट करता है — हटाने/पुन:क्रमित करने के लिए सेट किया जा सकता है
Layer.name / is_visible / opacity / clipping / blend_mode_key / top / left / bottom / rightसमर्थित लेयर मेटाडेटा संपादन
Layer.bounds / width / height / channels_countRead-only लेयर ज्योमेट्री
Layer.channel_information / layer_mask_data / layer_blending_ranges_dataRead-only चैनल/मास्क/ब्लेंडिंग मेटाडेटा

यह भी देखें

 हिन्दी