कैनवास (जीयूआई)

कंप्यूटर विज्ञान और विज़ुअलाइज़ेशन में, एक कैनवास एक कंटेनर (अमूर्त डेटा प्रकार) होता है जिसमें विभिन्न आरेखण तत्व (रेखाएं, आकार, पाठ, अन्य तत्वों वाले फ्रेम आदि) होते हैं। यह दृश्य कलाओं में प्रयुक्त कैनवास से अपना नाम लेता है। इसे कभी-कभी एक दृश्य ग्राफ़ कहा जाता है क्योंकि यह उपयोगकर्ता इंटरफ़ेस या ग्राफ़िकल दृश्य के तार्किक प्रतिनिधित्व की व्यवस्था करता है। कुछ कार्यान्वयन स्थानिक प्रतिनिधित्व को भी परिभाषित करते हैं और उपयोगकर्ता को ग्राफिकल यूज़र इंटरफ़ेस  के माध्यम से तत्वों के साथ इंटरैक्ट करने की अनुमति देते हैं।

पुस्तकालय समर्थन
विभिन्न फ्री और ओपन-सोर्स सॉफ्टवेयर | फ्री और ओपन-सोर्स कैनवास या सीन-ग्राफ पुस्तकालय (कम्प्यूटिंग)  डेवलपर्स को उनके कंप्यूटर प्रोग्राम के लिए यूजर इंटरफेस और/या यूजर-इंटरफेस तत्वों का निर्माण करने की अनुमति देते हैं। मुक्त और मुक्त-स्रोत दृश्य-ग्राफ़ कैनवास विकल्पों के उदाहरणों में शामिल हैं:
 * C (प्रोग्रामिंग लैंग्वेज) में, Evas (EFL में) एनलाइटनमेंट (सॉफ्टवेयर) प्रोजेक्ट से
 * C (प्रोग्रामिंग लैंग्वेज) में, अव्यवस्था (सॉफ्टवेयर), GNOME प्रोजेक्ट से जुड़ा हुआ है
 * C (प्रोग्रामिंग लैंग्वेज) में, जीटीके सीन ग्राफ किट (GSK)
 * C++ में या वैकल्पिक रूप से Qt (सॉफ़्टवेयर) की अपनी मार्कअप भाषा में QML: Qt Quick, एक सीनग्राफ़ प्रदान करता है क्यूटी परियोजना से जुड़ा हुआ है
 * C++ में, OpenSceneGraph, OpenGL का उपयोग कर एक 3D ग्राफ़िक्स API
 * C++ में, OGRE इंजन, एक सीन ग्राफ पर आधारित, मल्टीपल सीन मैनेजर्स को सपोर्ट करता है
 * C++ में, OpenSG, रीयल-टाइम ग्राफ़िक्स के लिए एक सीन-ग्राफ़ सिस्टम, क्लस्टरिंग सपोर्ट और मल्टी-थ्रेड सुरक्षा के साथ
 * C++ में, FlightGear कस्टम कैनवस सिस्टम का उपयोग करता है (LGPL'ed by SimGear ) जो OpenSceneGraph/OpenGL, OpenVG/ShivaVG का उपयोग करके हार्डवेयर-त्वरित है: The FlightGear कैनवास सिस्टम
 * जावा (प्रोग्रामिंग भाषा) में, 2डी और 3डी कार्यक्षमता के साथ जावा एफएक्स दृश्य ग्राफ
 * Tcl और अन्य भाषाओं जैसे पर्ल, पायथन (प्रोग्रामिंग लैंग्वेज) (Tkinter ), और रूबी (प्रोग्रामिंग भाषा), Tk (सॉफ्टवेयर) प्रदान करता है   2डी ग्राफिक्स के लिए विजेट
 * टीसीएल में और अन्य भाषाएँ जैसे पर्ल और पायथन (प्रोग्रामिंग भाषा), TkZinc टीके कैनवास के लिए एक विस्तारित प्रतिस्थापन है, जो पदानुक्रमित समूहीकरण, क्लिपिंग, एफ़िन ट्रांसफ़ॉर्मेशन, एंटी-अलियासिंग और हवाई यातायात नियंत्रण के लिए विशिष्ट वस्तुओं के लिए समर्थन जोड़ता है।

विभिन्न पुस्तकालयों के भीतर कुछ कैनवास मॉड्यूल एक पूर्ण दृश्य-ग्राफ की शक्ति प्रदान नहीं करते हैं - वे निचले स्तर पर काम करते हैं जिसके लिए प्रोग्रामर को कोड प्रदान करने की आवश्यकता होती है जैसे कि कैनवास में वस्तुओं को माउस-क्लिक मैप करना। पुस्तकालयों के उदाहरण जिनमें ऐसे कैनवास मॉड्यूल शामिल हैं:
 * सी++ में, केडीई प्लाज्मा कार्यस्थान Corona कैनवास
 * HTML5 में कैनवास तत्व
 * जावा (प्रोग्रामिंग लैंग्वेज) के लिए, सार विंडो टूलकिट लाइब्रेरी कैनवास
 * जावा (प्रोग्रामिंग भाषा) के लिए, जावा एफएक्स लाइब्रेरी कैनवास
 * जावा (प्रोग्रामिंग लैंग्वेज) के लिए, स्विंग (जावा) लाइब्रेरी %2BHTML5%2BC कैनवास कैनवस
 * जावा (प्रोग्रामिंग भाषा) के लिए, मानक विजेट टूलकिट पुस्तकालय Canvas.html कैनवास, ग्रहण (सॉफ्टवेयर)  से संबद्ध
 * जावा (प्रोग्रामिंग भाषा) के लिए-जावास्क्रिप्ट की तरह, Google वेब टूलकिट लाइब्रेरी कैनवास
 * C++ में, papyrus कैनवस लाइब्रेरी जो काहिरा (ग्राफिक्स) लाइब्रेरी का उपयोग करके प्रस्तुत करता है
 * C (प्रोग्रामिंग भाषा) में, crcanvas, एक GTK कैनवास GUI विजेट जो काहिरा (ग्राफिक्स) लाइब्रेरी का उपयोग करके प्रस्तुत करता है
 * C (प्रोग्रामिंग भाषा) में, GooCanvas, एक GTK कैनवास GUI विजेट जो काहिरा (ग्राफिक्स) लाइब्रेरी का उपयोग करके प्रस्तुत करता है

मालिकाना कैनवास पुस्तकालयों में शामिल हैं, उदाहरण के लिए:
 * Microsoft Windows Win32 कैनवास