ग्राफ़िक

Android Graphics HAL का आइकॉन

Android फ़्रेमवर्क, 2D और 3D ग्राफ़िक रेंडर करने के लिए कई एपीआई उपलब्ध कराता है. ये एपीआई, ग्राफ़िक ड्राइवर के मैन्युफ़ैक्चरर के लागू किए गए वर्शन के साथ इंटरैक्ट करते हैं. इसलिए, यह समझना ज़रूरी है कि ये एपीआई, हाई लेवल पर कैसे काम करते हैं. इस पेज पर, ग्राफ़िक हार्डवेयर ऐब्स्ट्रैक्शन लेयर (एचएएल) के बारे में बताया गया है. ये ड्राइवर, इसी लेयर पर बने होते हैं. इस सेक्शन को पढ़ने से पहले, इन शब्दों के बारे में जान लें:

कैनवस (सामान्य शब्द), Canvas (एपीआई एलिमेंट)
कैनवस, ड्रॉ करने की एक ऐसी जगह होती है जो असली बिट को कंपोज़ करने की प्रोसेस को मैनेज करती है. यह बिटमैप या Surface ऑब्जेक्ट के मुकाबले होती है. Canvas क्लास में, बिटमैप, लाइन, सर्कल, रेक्टैंगल, टेक्स्ट वगैरह को कंप्यूटर पर ड्रॉ करने के स्टैंडर्ड तरीके मौजूद होते हैं. यह क्लास, बिटमैप या सरफेस से जुड़ी होती है. कैनवस, स्क्रीन पर 2D ऑब्जेक्ट ड्रॉ करने का सबसे आसान तरीका है. बेसिक क्लास, Canvas है.
ड्रॉ करने लायक
ड्रॉएबल, कंपाइल किया गया विज़ुअल रिसॉर्स होता है. इसका इस्तेमाल, बैकग्राउंड, टाइटल या स्क्रीन के किसी अन्य हिस्से के तौर पर किया जा सकता है. ड्रॉएबल को आम तौर पर, किसी अन्य यूज़र इंटरफ़ेस (यूआई) एलिमेंट में लोड किया जाता है. उदाहरण के लिए, बैकग्राउंड इमेज के तौर पर. ड्रॉएबल, इवेंट नहीं पा सकता. हालांकि, यह अन्य प्रॉपर्टी असाइन करता है. जैसे, स्टेट और शेड्यूलिंग. इससे, सबक्लास को चालू किया जा सकता है. जैसे, ऐनिमेशन ऑब्जेक्ट या इमेज लाइब्रेरी. कई ड्रॉएबल ऑब्जेक्ट, ड्रॉ करने लायक संसाधन फ़ाइलों से लोड किए जाते हैं. ये एक्सएमएल या बिट मैप फ़ाइलें होती हैं, जिनमें इमेज के बारे में जानकारी होती है. ड्रॉएबल रिसॉर्स की सबक्लास में कंपाइल किए जाते हैं android.graphics.drawable. ड्रॉएबल और अन्य रिसॉर्स के बारे में ज़्यादा जानने के लिए, ऐप्लिकेशन के रिसॉर्स की खास जानकारी देखें.
लेआउट रिसॉर्स
लेआउट रिसॉर्स, एक एक्सएमएल फ़ाइल होती है. इसमें, ऐक्टिविटी स्क्रीन के लेआउट के बारे में जानकारी होती है. ज़्यादा जानकारी के लिए, लेआउट रिसॉर्स देखें.
नाइन-पैच (9-पैच, NinePatch)
नाइन-पैच, साइज़ बदलने वाला बिटमैप रिसॉर्स होता है. इसका इस्तेमाल, डिवाइस पर बैकग्राउंड या अन्य इमेज के लिए किया जा सकता है. ज़्यादा जानकारी के लिए, नाइन-पैच देखें.
OpenGL ES
OpenGL ES, 2D और 3D ग्राफ़िक रेंडर करने के लिए, क्रॉस-प्लैटफ़ॉर्म एपीआई है. Android, हार्डवेयर-ऐक्सलरेटेड 3D रेंडरिंग के लिए, OpenGL ES लाइब्रेरी उपलब्ध कराता है. 2D रेंडरिंग के लिए, कैनवस एक आसान विकल्प है. OpenGL ES, Android Native Development Kit (NDK) में उपलब्ध है. `android.opengl ` और `javax.microedition.khronos.opengles ` पैकेज, OpenGL ES की सुविधाएं उपलब्ध कराते हैं.
सरफ़ेस (सामान्य शब्द), Surface (एपीआई एलिमेंट)
सरफ़ेस, मेमोरी के एक ब्लॉक को दिखाता है. इसे स्क्रीन पर कंपोज़ किया जाता है. सरफ़ेस में, ड्रॉ करने के लिए एक कैनवस होता है. साथ ही, लेयर ड्रॉ करने और Surface ऑब्जेक्ट का साइज़ बदलने के लिए, कई हेल्पर तरीके उपलब्ध होते हैं. SurfaceView क्लास के बजाय, सीधे Surface क्लास का इस्तेमाल करें.
सरफ़ेस व्यू (सामान्य शब्द), SurfaceView (एपीआई एलिमेंट)
सरफ़ेस व्यू, एक View ऑब्जेक्ट होता है. यह ड्रॉ करने के लिए, Surface ऑब्जेक्ट को रैप करता है. साथ ही, इसका साइज़ और फ़ॉर्मैट डाइनैमिक तरीके से तय करने के लिए, तरीके उपलब्ध कराता है. सरफ़ेस व्यू, रिसॉर्स-इंटेंसिव कार्रवाइयों के लिए, यूज़र इंटरफ़ेस (यूआई) थ्रेड से अलग ड्रॉ करने का तरीका उपलब्ध कराता है. जैसे, गेम या कैमरे के प्रीव्यू. हालांकि, इसके लिए ज़्यादा मेमोरी का इस्तेमाल किया जाता है. सरफ़ेस व्यू, कैनवस और OpenGL ES ग्राफ़िक, दोनों को सपोर्ट करता है. SurfaceView ऑब्जेक्ट के लिए, बेसिक क्लास SurfaceView है.