परिचय
PsdImage.layers एक PSD या PSB दस्तावेज़ में प्रत्येक लेयर को Layer ऑब्जेक्ट्स की सूची के रूप में लौटाता है। यह पोस्ट विशेष रूप से इस बात को देखती है कि एक Layer क्या उजागर करता है: उसकी ज्यामिति और दृश्य स्थिति, ब्लेंड मोड और मास्क फ़्लैग एन्यूमरेशन, और मेटाडेटा क्लासेज़ जो लेयर के चैनल्स, मास्क, और ब्लेंडिंग रेंजेज़ का वर्णन करती हैं।
क्या शामिल है
लेयर क्लास
प्रत्येक Layer में एक नाम (name), एक बाउंडिंग Rectangle (bounds, जिसमें व्युत्पन्न width/height/top/left/bottom/right) शामिल हैं, दृश्यता और संयोजन स्थिति (is_visible, opacity, clipping, blend_mode_key), और एक चैनल गिनती (channels_count)। name, is_visible, opacity, clipping, blend_mode_key, और चार बाउंड्स किनारे सभी को PsdImage.save() के साथ बदला और वापस लिखा जा सकता है।
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}")
ब्लेंड मोड और मास्क फ़्लैग्स
blend_mode_key एक BlendMode एनीम वैल्यू है — लाइब्रेरी 29 मानक PSD ब्लेंड मोड्स को परिभाषित करती है (NORMAL, MULTIPLY, SCREEN, OVERLAY, DARKEN, LIGHTEN, COLORDODGE, COLORBURN, HARDLIGHT, SOFTLIGHT, DIFFERENCE, EXCLUSION, HUE, SATURATION, COLOR, LUMINOSITY, और अन्य)। एक अलग LayerMaskFlags फ़्लैग एनीम (NONE, RELATIVE_TO_LAYER, DISABLED, INVERTED_WHEN_BLENDING, USER_MASK_FROM_RENDERING_OTHER_DATA, USER_OR_VECTOR_MASKS_HAVE_PARAMETERS) लेयर में मौजूद होने पर मास्क-रेंडरिंग व्यवहार का वर्णन करता है।
चैनल और मास्क मेटाडेटा
Layer.channel_information प्रत्येक चैनल की आईडी, संपीड़न विधि, और बाइट लंबाई का वर्णन करने वाले ChannelInformation वस्तुओं की सूची लौटाता है। Layer.layer_mask_data (जब उपस्थित हो तो एक LayerMaskDataShort) लेयर मास्क की सीमाओं और फ़्लैग्स का वर्णन करता है; Layer.layer_blending_ranges_data सम्मिलित और प्रति-चैनल ब्लेंड रेंज को उजागर करता है। इन तीनों गुणों को इस FOSS बिल्ड में केवल-पढ़ने योग्य (read-only) रखा गया है — उनके सेटर्स को कॉल करने पर NotSupportedException उठाते हैं, हालांकि वे सामान्य गुणों की तरह दिखाई देते हैं।
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("input.psd") as image:
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}")
त्वरित प्रारंभ
git clone https://github.com/aspose-psd-foss/Aspose.PSD-FOSS-for-Python.git
cd Aspose.PSD-FOSS-for-Python
# No packaging manifest is published yet -- run from this folder,
# or add it to PYTHONPATH:
export PYTHONPATH=$PWD:$PYTHONPATHfrom aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("input.psd") as image:
visible_layers = [layer for layer in image.layers if layer.is_visible]
for layer in visible_layers:
print(f"{layer.name}: Opacity={layer.opacity}, BlendMode={layer.blend_mode_key}")
समर्थित स्वरूप
| फ़ॉर्मेट | एक्सटेंशन | पढ़ें | लिखें |
|---|---|---|---|
| PSD | psd | ✓ | ✓ |
| PSB | psb | ✓ | ✓ |
ओपन सोर्स और लाइसेंसिंग
Aspose.PSD FOSS Python के लिए MIT लाइसेंस के तहत है और इसे व्यावसायिक उत्पादों में बिना रॉयल्टी के, बिना मूल्यांकन वाटरमार्क या उपयोग सीमा के उपयोग किया जा सकता है।
लाइब्रेरी में शून्य थर्ड-पार्टी नेटिव निर्भरताएँ हैं — केवल रनटाइम पर Python मानक लाइब्रेरी की आवश्यकता होती है।