पाइग्लैट: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
{{Unreferenced|date=November 2014}}
{{Unreferenced|date=November 2014}}
<code>पाइगलेट</code> पायथन [[प्रोग्रामिंग भाषा|प्रोग्रामिंग लैंग्वेज]] के लिए एक [[पुस्तकालय (कम्प्यूटिंग)|लाइब्रेरी कम्प्यूटिंग]] होती है, जो गेम और अन्य मल्टीमीडिया [[अनुप्रयोग प्रक्रिया सामग्री|अनुप्रयोग की प्रक्रिया सामग्री]] के निर्माण के लिए [[ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग]]
<code>पाइगलेट</code> पायथन [[प्रोग्रामिंग भाषा|प्रोग्रामिंग लैंग्वेज]] के लिए एक [[पुस्तकालय (कम्प्यूटिंग)|लाइब्रेरी कम्प्यूटिंग]] होती है, जो गेम और अन्य मल्टीमीडिया [[अनुप्रयोग प्रक्रिया सामग्री|अनुप्रयोग की प्रक्रिया सामग्री]] के निर्माण के लिए [[ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग]]


[[अप्लिकेशन प्रोग्रामिंग अंतरफलक|अप्लिकेशन प्रोग्रामिंग इंटरफ़ेस]] प्रदान करती है। पाइगलेट [[Microsoft Windows|माइक्रोसॉफ्ट विंडोज]], [[macOS|मैकोस]] और [[Linux|लिनक्स]] पर चलता है, और यह [[बीएसडी लाइसेंस]] के अनुसार जारी किया गया है। पाइगलेट सबसे पहले एलेक्स होल्कनर द्वारा बनाया गया था।
[[अप्लिकेशन प्रोग्रामिंग अंतरफलक|अप्लिकेशन प्रोग्रामिंग इंटरफ़ेस]] प्रदान करती है। पाइगलेट [[Microsoft Windows|माइक्रोसॉफ्ट विंडोज]], [[macOS|मैकोस]] और [[Linux|लिनक्स]] पर चलता है, और यह [[बीएसडी लाइसेंस]] के अनुसार जारी किया गया है। पाइगलेट सबसे पहले एलेक्स होल्कनर द्वारा बनाया गया था।


यह विंडो और फुल-स्क्रीन ऑपरेशंस के साथ-साथ मल्टीपल मॉनिटर्स को सपोर्ट करता है। छवियों, वीडियो और ध्वनि फ़ाइलों की एक श्रेणी में कई स्वरूपों में मूल रूप से किया जा सकता है, वैकल्पिक द्वारा प्रदान की जाने वाली अतिरिक्त क्षमताओं के साथ <code>एबिन</code> प्लगइन, जो उपयोग करता है, जो [[एमपी3]], [[ओजीजी/वोरर्बिस]] और विंडोज मीडिया ऑडियो और विडियो प्रारूप सहित ऑडियो प्रारूपों का समर्थन प्रदान करने के लिए <code>[[Libav|लिबाव]]</code>पैकेज का उपयोग करता है। जैसे, <code>[[DivX|डिवएक्स]]</code>, <code>[[MPEG-2|एमपीईजी-2]]</code>, <code>[[H.264|एच.264]]</code>, <code>[[WMV|डब्ल्यूएमवी]]</code>, और <code>[[XviD|एक्सविआईडी]]</code>.इत्यादि के रूप में होते है
यह विंडो और फुल-स्क्रीन ऑपरेशंस के साथ-साथ मल्टीपल मॉनिटर्स को सपोर्ट करता है। छवियों, वीडियो और ध्वनि फ़ाइलों की एक श्रेणी में कई स्वरूपों में मूल रूप से किया जा सकता है, वैकल्पिक द्वारा प्रदान की जाने वाली अतिरिक्त क्षमताओं के साथ <code>एबिन</code> प्लगइन, जो उपयोग करता है, जो [[एमपी3]], [[ओजीजी/वोरर्बिस]] और विंडोज मीडिया ऑडियो और विडियो प्रारूप सहित ऑडियो प्रारूपों का समर्थन प्रदान करने के लिए <code>[[Libav|लिबाव]]</code>पैकेज का उपयोग करता है। जैसे, <code>[[DivX|डिवएक्स]]</code>, <code>[[MPEG-2|एमपीईजी-2]]</code>, <code>[[H.264|एच.264]]</code>, <code>[[WMV|डब्ल्यूएमवी]]</code>, और <code>[[XviD|एक्सविआईडी]]</code>.इत्यादि के रूप में होते है


एक अन्य लाइब्रेरी पर <code>पाइगलेट</code> का लाभ यह है कि इसके लिए किसी बाहरी निर्भरता की आवश्यकता नहीं होती है और सीटाइप्स लैंग्वेज लाइब्रेरी एक पायथन C कंपाइलर का उपयोग करता है।यह [[ओपनजीएल]] पर बनाता है.
एक अन्य लाइब्रेरी पर <code>पाइगलेट</code> का लाभ यह है कि इसके लिए किसी बाहरी निर्भरता की आवश्यकता नहीं होती है और सीटाइप्स लैंग्वेज लाइब्रेरी एक पायथन C कंपाइलर का उपयोग करता है।यह [[ओपनजीएल]] पर बनाता है.


== अन्य लाइब्रेरी से तुलना ==
== अन्य लाइब्रेरी से तुलना ==


=== <code>पीवाईगेम</code> ===
=== <code>पीवाईगेम</code> ===
<code>पीवाईगेम</code>एक अन्य लाइब्रेरी के रूप में होती है, जिसका उपयोग गेम बनाने के लिए किया जाता है और यह इससे कहीं अधिक व्यापक रूप से जाना जाता है पाइगलेट उदाहरण में दिखाई गई विंडो को प्रदर्शित करने में यही लगता है की यह कोड की अधिक पंक्तियाँ का उपयोग करता है और समझने में भी कठिन होता है।
<code>पीवाईगेम</code>एक अन्य लाइब्रेरी के रूप में होती है, जिसका उपयोग गेम बनाने के लिए किया जाता है और यह इससे कहीं अधिक व्यापक रूप से जाना जाता है पाइगलेट उदाहरण में दिखाई गई विंडो को प्रदर्शित करने में यही लगता है की यह कोड की अधिक पंक्तियाँ का उपयोग करता है और समझने में भी कठिन होता है।


पाइगलेट की तुलना में, <code>पीवाईगेम</code>ऑब्जेक्ट ओरिएंटेड नहीं होते है और इनकी कार्यक्षमता कम होती है। उदाहरण के लिए, कोई समृद्ध और फ़ोर्मेटेड टेक्स्ट फास्ट ड्राइंग कमांड नहीं होते है। ग्राफिक्स और छवियों को बार-बार खींचा जाता है और कैश्ड नहीं किया जा सकता है। यह ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के परफॉर्मेंस फीचर्स में से एक है, जहां पर अधिकांश चरणों को दोहराने की जरूरत नहीं होती है।
पाइगलेट की तुलना में, <code>पीवाईगेम</code>ऑब्जेक्ट ओरिएंटेड नहीं होते है और इनकी कार्यक्षमता कम होती है। उदाहरण के लिए, कोई समृद्ध और फ़ोर्मेटेड टेक्स्ट फास्ट ड्राइंग कमांड नहीं होते है। ग्राफिक्स और छवियों को बार-बार खींचा जाता है और कैश्ड नहीं किया जा सकता है। यह ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के परफॉर्मेंस फीचर्स में से एक है, जहां पर अधिकांश चरणों को दोहराने की जरूरत नहीं होती है।


<syntaxhighlight lang="python" line="1">
<syntaxhighlight lang="python" line="1">
Line 40: Line 40:
*एचटीएमएल समर्थन <code>कैरटपाइगलेट.टेक्स्ट.लेआउट.इंक्रीमेंटल टेक्स्ट लेआउट</code>)<code>इत्यादि के रूप में होता है</code>
*एचटीएमएल समर्थन <code>कैरटपाइगलेट.टेक्स्ट.लेआउट.इंक्रीमेंटल टेक्स्ट लेआउट</code>)<code>इत्यादि के रूप में होता है</code>
छवि और स्प्राइट वर्क  
छवि और स्प्राइट वर्क  
*फास्ट इमेज प्रोसेसिंग और रेंडरिंग
*फास्ट इमेज प्रोसेसिंग और रेंडरिंग <code>के रूप में उपयोग किया जाता है</code>
*बिल्ट-इन स्प्राइट्स (<code>pyglet.sprite</code>)
*बिल्ट-इन स्प्राइट्स (<code>पाइगलेट.स्प्राइट्</code>) <code>के रूप में होती है</code>
*एनिमेटेड छवियां (<code>*.gif</code>)
*एनिमेटेड छवियां (<code>*.जीआईएफ</code>) के रूप में होती है
GRAPHICS
ग्राफीक्स
*ओपनजीएल शेडर्स समर्थित
*ओपनजीएल शेडर्स समर्थित <code>रूप में होती है</code>
*सरल अंतर्निर्मित आकृतियाँ (आयताकार, वृत्त, त्रिकोण) (<code>pyglet.shapes</code>)
*सरल अंतर्निर्मित आकृतियाँ आयताकार, वृत्त, त्रिकोण (<code>पाइगलेट.शेपस</code>) <code>के रूप में होती है</code>
*बैच प्रतिपादन (<code>pyglet.graphics.Batch</code>)
*बैच रेंडररिंग (<code>पाइगलेट.ग्राफीक्स .बैच</code>) <code>के रूप में उपयोग किया जाता है</code>
*3 डी मॉडल प्रतिपादन
*3 डी मॉडल रेंडररिंग <code>के रूप में उपयोग किया जाता है</code>
घटनाक्रम और फाइल सिस्टम
इवेंट्स और फाइल प्रणाली
*संसाधन प्रबंधन (<code>pyglet.resource</code>)
*संसाधन प्रबंधन (<code>पाइगलेट.संसाधन</code>)<code>के रूप में उपयोग किया जाता है</code>
*प्रसंस्करण घटनाओं और समय के लिए घड़ी (<code>pyglet.clock.Clock</code>)
*प्रसंस्करण घटनाओं और समय के लिए घड़ी (<code>पाइगलेट.क्लॉक.क्लॉक</code>) <code>होती है</code>
*विंडो इवेंट्स (<code>pyglet.window.Window</code>)
*विंडो इवेंट्स (<code>पाइगलेट .विंडो.विंडो</code>)<code>के रूप में होती है</code>
*आपके अपने ईवेंट डिस्पैचिंग के लिए इवेंट डिस्पैचर (<code>pyglet.event.EventDispatcher</code>)
*आपके अपने ईवेंट डिस्पैचिंग के लिए इवेंट डिस्पैचर (<code>पाइगलेट.ईवेंट.ईवेंटडिस्पैचर</code>) <code>के रूप में उपयोग किया जाता है</code>
*संदर्भ प्रबंधन
*संदर्भ मैनेजमेंट <code>के रूप में होती है</code>
ये सुविधाएँ बनाती हैं पाइगलेट कई अन्य मल्टीमीडिया पुस्तकालयों की तुलना में बहुत तेज। बैचेड रेंडरिंग एक ही समय में कई वस्तुओं को खींचने की तकनीक है। बैच समर्थन करते हैं <code>Sprite</code>एस, चित्र, और <code>TextLayout</code>एस, जो सभी लेबल और टेक्स्ट के लिए आधार हैं। टेक्स्ट कार्यों को भी कार्यान्वित किया जाता है। बहु-स्तरीय सूचियाँ समर्थित हैं, और HTML का उपयोग करके बनाई जा सकती हैं। प्रदर्शित दस्तावेज़ के विभिन्न भागों में विभिन्न शैलियाँ हो सकती हैं। टेक्स्ट संपादित करने के लिए समर्थन के लिए एक कैरेट अंतर्निहित है। यह UI टेक्स्ट इनपुट कैरेट की कई विशेषताओं से मिलता जुलता है।
ये विशेषताएं कई अन्य मल्टीमीडिया लाइब्रेरीयों की तुलना में पाइगलेट को बहुत तेज बनाती हैं। बैचेड रेंडरिंग एक ही समय में कई वस्तुओं को खींचने की तकनीक <code>होती है</code>। बैच समर्थन करते हैं स्प्राइट्स, इमेज और टेक्स्ट लेआउट का समर्थन करते हैं, जो सभी लेबल और टेक्स्ट के लिए आधार होता है। टेक्स्ट कार्यों को भी कार्यान्वित किया जाता है। बहु-स्तरीय सूचियाँ समर्थित<code>रूप में होती है</code> और एचटीएमएल का उपयोग करके बनाई जाती हैं। प्रदर्शित दस्तावेज़ के विभिन्न भागों में विभिन्न शैलियाँ हो सकती हैं। टेक्स्ट संपादित करने के लिए समर्थन के लिए एक कैरेट अंतर्निहित है। यह UI टेक्स्ट इनपुट कैरेट की कई विशेषताओं से मिलता जुलता है।
 
बैच स्प्राइट्स, इमेज और टेक्स्ट लेआउट का समर्थन करते हैं, जो सभी लेबल और टेक्स्ट के लिए आधार हैं। पाठ कार्यों को भी कार्यान्वित किया जाता है। बहु-स्तरीय सूचियाँ समर्थित हैं, और एचटीएमएल का उपयोग करके बनाई जा सकती हैं। प्रदर्शित दस्तावेज़ के विभिन्न भागों में विभिन्न शैलियाँ हो सकती हैं। पाठ संपादित करने के लिए समर्थन के लिए एक कैरेट अंतर्निहित रूप में होता है। यह यूआई टेक्स्ट इनपुट कैरेट की कई विशेषताओं से मिलता जुलता है।
==उदाहरण==
==उदाहरण==
<वाक्यविन्यास लैंग = पायथन लाइन = 1> pyglet.window आयात विंडो से pyglet.app आयात रन से
<syntaxhighlight lang="python">
from pyglet.window import Window
from pyglet.app import run


window = Window(caption="Hello world!", width=640, height=480)


 
run()
 
</syntaxhighlight>
 
इस उदाहरण में, लाइन 1-2 पायगलेट मॉड्यूल के आवश्यक घटकों को आयात करती है। लाइन 4 एक विंडो बनाती है और लाइन 6 अपने इवेंट लूप को चलाने के लिए पाइगलेट को कॉल करता है। वैकल्पिक रूप से एक अद्यतन दर फ़्रेम प्रति सेकंड में दर पैरामीटर में निर्दिष्ट की जा सकती है।
 
इस उदाहरण में, पंक्तियाँ 1-2 आयात करती हैं पाइगलेट  मॉड्यूल के आवश्यक घटक। लाइन 4 एक विंडो बनाती है, और लाइन 6 कॉल करती है पाइगलेट  इसके इवेंट लूप को चलाने के लिए। वैकल्पिक रूप से एक अद्यतन दर (फ़्रेम प्रति सेकंड में) निर्दिष्ट की जा सकती है a <code>rate</code> पैरामीटर।
 
== यह भी देखें ==
== यह भी देखें ==
{{Portal|Free and open-source software|Video games}}
{{Portal|Free and open-source software|Video games}}
*[[Pygame|पीवाईगेम]] , एक अन्य Python गेम API, [[सरल DirectMedia परत]] पर एक परत
*[[Pygame|पीवाईगेम]], एक अन्य पाइथन गेम एपीआई [[सरल DirectMedia परत|सरल डायरेक्टमीडिया]] पर एक परत के रूप में होती है
*[[कीवी (ढांचा)]], मल्टीटच इंटरैक्शन के लिए एक पायथन ओपनजीएल-आधारित यूआई
*[[कीवी (ढांचा)|कीवी (फ्रेमवर्क)]], मल्टीटच इंटरैक्शन के लिए एक पायथन ओपनजीएल-आधारित यूआई के रूप में होती है
*[[Cocos2d]]
*[[कोकोज2d]] के रूप में होती है
* [[हम गिन रहे हैं]]
* [[पांडा3D]] के रूप में होती है


== बाहरी संबंध ==
== बाहरी संबंध ==

Revision as of 09:02, 3 March 2023

पाइगलेट पायथन प्रोग्रामिंग लैंग्वेज के लिए एक लाइब्रेरी कम्प्यूटिंग होती है, जो गेम और अन्य मल्टीमीडिया अनुप्रयोग की प्रक्रिया सामग्री के निर्माण के लिए ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग

अप्लिकेशन प्रोग्रामिंग इंटरफ़ेस प्रदान करती है। पाइगलेट माइक्रोसॉफ्ट विंडोज, मैकोस और लिनक्स पर चलता है, और यह बीएसडी लाइसेंस के अनुसार जारी किया गया है। पाइगलेट सबसे पहले एलेक्स होल्कनर द्वारा बनाया गया था।

यह विंडो और फुल-स्क्रीन ऑपरेशंस के साथ-साथ मल्टीपल मॉनिटर्स को सपोर्ट करता है। छवियों, वीडियो और ध्वनि फ़ाइलों की एक श्रेणी में कई स्वरूपों में मूल रूप से किया जा सकता है, वैकल्पिक द्वारा प्रदान की जाने वाली अतिरिक्त क्षमताओं के साथ एबिन प्लगइन, जो उपयोग करता है, जो एमपी3, ओजीजी/वोरर्बिस और विंडोज मीडिया ऑडियो और विडियो प्रारूप सहित ऑडियो प्रारूपों का समर्थन प्रदान करने के लिए लिबावपैकेज का उपयोग करता है। जैसे, डिवएक्स, एमपीईजी-2, एच.264, डब्ल्यूएमवी, और एक्सविआईडी.इत्यादि के रूप में होते है

एक अन्य लाइब्रेरी पर पाइगलेट का लाभ यह है कि इसके लिए किसी बाहरी निर्भरता की आवश्यकता नहीं होती है और सीटाइप्स लैंग्वेज लाइब्रेरी एक पायथन C कंपाइलर का उपयोग करता है।यह ओपनजीएल पर बनाता है.

अन्य लाइब्रेरी से तुलना

पीवाईगेम

पीवाईगेमएक अन्य लाइब्रेरी के रूप में होती है, जिसका उपयोग गेम बनाने के लिए किया जाता है और यह इससे कहीं अधिक व्यापक रूप से जाना जाता है पाइगलेट उदाहरण में दिखाई गई विंडो को प्रदर्शित करने में यही लगता है की यह कोड की अधिक पंक्तियाँ का उपयोग करता है और समझने में भी कठिन होता है।

पाइगलेट की तुलना में, पीवाईगेमऑब्जेक्ट ओरिएंटेड नहीं होते है और इनकी कार्यक्षमता कम होती है। उदाहरण के लिए, कोई समृद्ध और फ़ोर्मेटेड टेक्स्ट फास्ट ड्राइंग कमांड नहीं होते है। ग्राफिक्स और छवियों को बार-बार खींचा जाता है और कैश्ड नहीं किया जा सकता है। यह ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के परफॉर्मेंस फीचर्स में से एक है, जहां पर अधिकांश चरणों को दोहराने की जरूरत नहीं होती है।

import pygame

screen = pygame.display.set_mode((640, 480))

pygame.display.set_caption("Hello world!")

running = True

while running:
    for event in pygame.event.get():
        if event.type in pygame.QUIT:
            running = False

pygame.quit()

सुविधाएँ

मल्टीमीडिया लाइब्रेरी के रूप में, पाइगलेट सम्मलित बैटरी के साथ आता है। ओपनजीएल का उपयोग करने से इसे गति लाभ मिलता है, और यह पूरी तरह से पायथन में भी लिखा गया है, जिसका अर्थ है कि कोई बाहरी निर्भरता स्थापित नहीं की जाती है। एफएफएमपीईजी अधिक ऑडियो प्रारूपों का समर्थन करने के लिए लाइब्रेरी को वैकल्पिक रूप से स्थापित किया जा सकता है।

टेक्स्ट डिस्प्ले फोर्मेटिंग

  • रिच टेक्स्ट फॉर्मेटिंग बोल्ड, इटैलिक, अंडरलाइन, कलर चेंज, बैकग्राउंड कलर, इंडेंट, लिस्ट पाइगलेट.टेक्स्ट.फॉर्मेट इत्यादि के रूप में होता है
  • संपादन योग्य टेक्स्ट का समर्थन करने के लिए अंतर्निहित लेआउट होता है
  • कैरटपाइगलेट.टेक्स्ट.कैरट.कैरट) इत्यादि के रूप में होता है
  • एचटीएमएल समर्थन कैरटपाइगलेट.टेक्स्ट.लेआउट.इंक्रीमेंटल टेक्स्ट लेआउट)इत्यादि के रूप में होता है

छवि और स्प्राइट वर्क

  • फास्ट इमेज प्रोसेसिंग और रेंडरिंग के रूप में उपयोग किया जाता है
  • बिल्ट-इन स्प्राइट्स (पाइगलेट.स्प्राइट्) के रूप में होती है
  • एनिमेटेड छवियां (*.जीआईएफ) के रूप में होती है

ग्राफीक्स

  • ओपनजीएल शेडर्स समर्थित रूप में होती है
  • सरल अंतर्निर्मित आकृतियाँ आयताकार, वृत्त, त्रिकोण (पाइगलेट.शेपस) के रूप में होती है
  • बैच रेंडररिंग (पाइगलेट.ग्राफीक्स .बैच) के रूप में उपयोग किया जाता है
  • 3 डी मॉडल रेंडररिंग के रूप में उपयोग किया जाता है

इवेंट्स और फाइल प्रणाली

  • संसाधन प्रबंधन (पाइगलेट.संसाधन)के रूप में उपयोग किया जाता है
  • प्रसंस्करण घटनाओं और समय के लिए घड़ी (पाइगलेट.क्लॉक.क्लॉक) होती है
  • विंडो इवेंट्स (पाइगलेट .विंडो.विंडो)के रूप में होती है
  • आपके अपने ईवेंट डिस्पैचिंग के लिए इवेंट डिस्पैचर (पाइगलेट.ईवेंट.ईवेंटडिस्पैचर) के रूप में उपयोग किया जाता है
  • संदर्भ मैनेजमेंट के रूप में होती है

ये विशेषताएं कई अन्य मल्टीमीडिया लाइब्रेरीयों की तुलना में पाइगलेट को बहुत तेज बनाती हैं। बैचेड रेंडरिंग एक ही समय में कई वस्तुओं को खींचने की तकनीक होती है। बैच समर्थन करते हैं स्प्राइट्स, इमेज और टेक्स्ट लेआउट का समर्थन करते हैं, जो सभी लेबल और टेक्स्ट के लिए आधार होता है। टेक्स्ट कार्यों को भी कार्यान्वित किया जाता है। बहु-स्तरीय सूचियाँ समर्थितरूप में होती है और एचटीएमएल का उपयोग करके बनाई जाती हैं। प्रदर्शित दस्तावेज़ के विभिन्न भागों में विभिन्न शैलियाँ हो सकती हैं। टेक्स्ट संपादित करने के लिए समर्थन के लिए एक कैरेट अंतर्निहित है। यह UI टेक्स्ट इनपुट कैरेट की कई विशेषताओं से मिलता जुलता है।

बैच स्प्राइट्स, इमेज और टेक्स्ट लेआउट का समर्थन करते हैं, जो सभी लेबल और टेक्स्ट के लिए आधार हैं। पाठ कार्यों को भी कार्यान्वित किया जाता है। बहु-स्तरीय सूचियाँ समर्थित हैं, और एचटीएमएल का उपयोग करके बनाई जा सकती हैं। प्रदर्शित दस्तावेज़ के विभिन्न भागों में विभिन्न शैलियाँ हो सकती हैं। पाठ संपादित करने के लिए समर्थन के लिए एक कैरेट अंतर्निहित रूप में होता है। यह यूआई टेक्स्ट इनपुट कैरेट की कई विशेषताओं से मिलता जुलता है।

उदाहरण

from pyglet.window import Window
from pyglet.app import run

window = Window(caption="Hello world!", width=640, height=480)

run()

इस उदाहरण में, लाइन 1-2 पायगलेट मॉड्यूल के आवश्यक घटकों को आयात करती है। लाइन 4 एक विंडो बनाती है और लाइन 6 अपने इवेंट लूप को चलाने के लिए पाइगलेट को कॉल करता है। वैकल्पिक रूप से एक अद्यतन दर फ़्रेम प्रति सेकंड में दर पैरामीटर में निर्दिष्ट की जा सकती है।

यह भी देखें

बाहरी संबंध