ImageBitmap बनाम Image पक्ष

आम तौर पर, रास्टर और वेक्टर इमेज, दो तरह के इमेज फ़ॉर्मैट हैं.

रास्टर ग्राफ़िक प्रारूप में पिक्सेल होते हैं: ऐसे छोटे अलग-अलग वर्ग जिनमें रंग (लाल, हरे, नीले, और ऐल्फ़ा वैल्यू से बना). बहुत सारे एक साथ पिक्सलेट करने से, एक बहुत ही बारीक इमेज बन सकती है, जैसे कि एक फ़ोटोग्राफ़. रेस्टर ग्राफ़िक का रिज़ॉल्यूशन (पिक्सल की तय संख्या) एक जैसा होता है. इसका मतलब है कि जब आप इमेज का आकार बढ़ाते हैं, तो उसकी बारीकियां हट जाती हैं और पिक्सलेशन होता है. रास्टर ग्राफ़िक फ़ॉर्मैट के उदाहरण JPEG, PNG, और WEBP हैं.

JPEG फ़ाइल का उदाहरण
पहली इमेज: JPEG फ़ाइल का उदाहरण

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

वेक्टर का उदाहरण (फ़ाइल एक्सटेंशन .xml हैं या Kotlin कोड में तय किए गए हैं)
इमेज 2: वेक्टर का उदाहरण (फ़ाइल एक्सटेंशन .xml हैं या Kotlin कोड में तय किए गए हैं)

ImageBitmap

Compose में, रास्टर इमेज (जिसे अक्सर Bitmap कहा जाता है) को लोड किया जा सकता है एक ImageBitmap इंस्टेंस में बदल दिया जाता है और BitmapPainter करके बिटमैप को स्क्रीन पर ले जाते हैं.

सामान्य इस्तेमाल के उदाहरणों के लिए, painterResource() का इस्तेमाल किया जा सकता है. यह ImageBitmap बनाता है और Painter ऑब्जेक्ट (इस मामले में - BitmapPainter) दिखाता है:

Image(
    painter = painterResource(id = R.drawable.dog),
    contentDescription = stringResource(id = R.string.dog_content_description)
)

अगर आपको ImageBitmap को ज़्यादा कस्टमाइज़ करना है, जैसे कि कस्टम पेंटर को लागू करना और आपको ImageBitmap का ऐक्सेस चाहिए, तो इसे इस तरह लोड किया जा सकता है:

val imageBitmap = ImageBitmap.imageResource(R.drawable.dog)

ImageVector

VectorPainter, स्क्रीन पर ImageVector बनाने के लिए ज़िम्मेदार है. ImageVector, SVG कमांड के सबसेट के साथ काम करता है. हर इमेज को को वेक्टर के तौर पर दिखाया जाता है. उदाहरण के लिए, कैमरे से ली गई फ़ोटो वेक्टर में बदल जाते हैं.

आप या तो मौजूदा वेक्टर को इंपोर्ट करके पसंद के मुताबिक ImageVector बना सकते हैं ड्रॉ करने लायक एक्सएमएल फ़ाइल (इंपोर्ट टूल का इस्तेमाल करके, Android Studio में इंपोर्ट की गई) या मैन्युअल रूप से क्लास लागू करना और पाथ कमांड जारी करना.

आसान इस्तेमाल के उदाहरणों के लिए, painterResource() जिस तरह ImageBitmap क्लास के लिए काम करता है उसी तरह यह ImageVectors के लिए भी काम करता है. साथ ही, नतीजे के तौर पर VectorPainter दिखाता है. painterResource() लोड होने का काम करता है VectorDrawables और BitmapDrawables को VectorPainter और BitmapPainter में क्रम से. VectorDrawable को किसी इमेज में लोड करने के लिए, इनका इस्तेमाल करें:

Image(
    painter = painterResource(id = R.drawable.baseline_shopping_cart_24),
    contentDescription = stringResource(id = R.string.shopping_cart_content_desc)
)

ImageVector को ऐक्सेस करने और उसे और ज़्यादा पसंद के मुताबिक बनाने के बारे में जानकारी तो आप उसे नीचे दिए गए तरीके से लोड कर सकते हैं:

val imageVector = ImageVector.vectorResource(id = R.drawable.baseline_shopping_cart_24)

फ़िलहाल कोई सुझाव नहीं है.

अपने Google खाते में करने की कोशिश करें.