डिस्क से कोई इमेज लोड करना
स्क्रीन पर ग्राफ़िक दिखाने के लिए, Image कंपोज़ेबल का इस्तेमाल करें. डिस्क से कोई इमेज (उदाहरण के लिए: PNG, JPEG, WEBP) या वेक्टर रिसॉर्स लोड करने के लिए, इमेज के रेफ़रंस के साथ painterResource API का इस्तेमाल करें. आपको ऐसेट के टाइप के बारे में जानने की ज़रूरत नहीं है. बस Image या paint मॉडिफ़ायर में painterResource का इस्तेमाल करें.
DrawScope:
Image( painter = painterResource(id = R.drawable.dog), contentDescription = stringResource(id = R.string.dog_content_description) )
यह पक्का करने के लिए कि आपका ऐप्लिकेशन ऐक्सेस किया जा सकता है, स्क्रीन पर मौजूद विज़ुअल एलिमेंट के लिए contentDescription उपलब्ध कराएं. TalkBack, कॉन्टेंट के ब्यौरे को पढ़कर सुनाता है. इसलिए, आपको यह पक्का करना होगा कि टेक्स्ट को पढ़कर सुनाने और उसका अनुवाद करने पर, वह समझ में आए. ऊपर दिए गए उदाहरण में, stringResource() का इस्तेमाल, strings.xml फ़ाइल से अनुवादित कॉन्टेंट के ब्यौरे को लोड करने के लिए किया गया है. अगर स्क्रीन पर मौजूद आपका विज़ुअल एलिमेंट सिर्फ़ सजावट के लिए है, तो अपने contentDescription को null पर सेट करें, ताकि स्क्रीन रीडर इसे अनदेखा कर सके.
अगर आपको ImageBitmap की खास सुविधा का इस्तेमाल करना है, तो Bitmap को लोड करने के लिए ImageBitmap.imageResource() का इस्तेमाल करें. ImageBitmap के बारे में ज़्यादा जानने के लिए, ImageBitmap बनाम ImageVector सेक्शन पढ़ें.
ड्रॉएबल सपोर्ट
painterResource में, यहां दिए गए ड्रॉएबल टाइप इस्तेमाल किए जा सकते हैं:
AnimatedVectorDrawableBitmapDrawable(PNG, JPG, WEBP)ColorDrawableVectorDrawable
इंटरनेट से कोई इमेज लोड करना
इंटरनेट से इमेज लोड करने के लिए, तीसरे पक्ष की कई लाइब्रेरी उपलब्ध हैं. इनकी मदद से, इस प्रोसेस को मैनेज किया जा सकता है. इमेज लोड करने वाली लाइब्रेरी, आपके लिए कई काम करती हैं. ये लाइब्रेरी, इमेज को कैश मेमोरी में सेव करती हैं, ताकि आपको इमेज को कई बार डाउनलोड न करना पड़े. साथ ही, ये इमेज को डाउनलोड करने और उसे स्क्रीन पर दिखाने के लिए, नेटवर्किंग लॉजिक को मैनेज करती हैं.
उदाहरण के लिए, Instacart से Coil का इस्तेमाल करके कोई इमेज लोड करने के लिए, अपनी gradle फ़ाइल में लाइब्रेरी जोड़ें. इसके बाद, यूआरएल से इमेज लोड करने के लिए AsyncImage का इस्तेमाल करें:
AsyncImage( model = "https://example.com/image.jpg", contentDescription = "Translated description of what the image contains" )
कॉइल
यह इमेज लोड करने वाली लाइब्रेरी है, जिसे Kotlin कोरूटीन (Instacart) की मदद से बनाया गया है.
Glide
यह Android के लिए, इमेज को तेज़ी से और असरदार तरीके से लोड करने वाली लाइब्रेरी है. इसका फ़ोकस, स्क्रोलिंग को बेहतर बनाने पर है (Google).
अन्य संसाधन
आपके लिए सुझाव
- ध्यान दें: JavaScript बंद होने पर लिंक का टेक्स्ट दिखता है
- Compose में मौजूद संसाधन
- Compose में सुलभता
- लिखते समय ग्राफ़िक