Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Kotlin में Base64 स्ट्रिंग को Bitmap इमेज में कैसे कन्वर्ट करें?

यह उदाहरण दर्शाता है कि Kotlin में Android ऐप में Base64 एन्कोडेड स्ट्रिंग को Bitmap इमेज में कैसे कन्वर्ट किया जाता है।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project, भाषा Kotlin चुनें।

चरण 2: लेआउट XML

res/layout/activity_main.xml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="https://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:gravity="center_horizontal" 
    android:padding="16dp"> 
    <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Base64 स्ट्रिंग को Bitmap में कन्वर्ट करें" 
        android:textColor="@android:color/holo_blue_dark" 
        android:textSize="18sp" 
        android:textStyle="bold|italic" /> 
    <ImageView 
        android:id="@+id/imageView" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:layout_marginTop="16dp" 
        android:scaleType="centerCrop" 
        android:contentDescription="डीकोडेड इमेज" /> 
</LinearLayout>

चरण 3: MainActivity.kt

package com.app.sample 

import android.graphics.Bitmap 
import android.graphics.BitmapFactory 
import android.os.Bundle 
import android.util.Base64 
import android.widget.ImageView 
import androidx.appcompat.app.AppCompatActivity 
import java.io.ByteArrayOutputStream 

class MainActivity : AppCompatActivity() { 
    private lateinit var imageView: ImageView 
    
    override fun onCreate(savedInstanceState: Bundle?) { 
        super.onCreate(savedInstanceState) 
        setContentView(R.layout.activity_main) 
        
        imageView = findViewById(R.id.imageView) 
        
        // 1. Bitmap को Base64 स्ट्रिंग में एन्कोड करें
        val bitmap = BitmapFactory.decodeResource(resources, R.drawable.image) 
        val byteArrayOutputStream = ByteArrayOutputStream() 
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream) 
        val imageBytes = byteArrayOutputStream.toByteArray() 
        val imageString = Base64.encodeToString(imageBytes, Base64.DEFAULT) 
        
        // 2. Base64 स्ट्रिंग को वापस Bitmap में डीकोड करें
        val decodedBytes = Base64.decode(imageString, Base64.DEFAULT) 
        val decodedBitmap = BitmapFactory.decodeByteArray(decodedBytes, 0, decodedBytes.size) 
        
        // 3. ImageView में सेट करें
        imageView.setImageBitmap(decodedBitmap) 
    } 
}

उपयोग के मामले

  • API रिस्पॉन्स: सर्वर से Base64 एन्कोडेड इमेज प्राप्त करना
  • डेटाबेस स्टोरेज: इमेज को स्ट्रिंग के रूप में SQLite/Room में स्टोर करना
  • इंटेंट पासिंग: एक्टिविटीज के बीच इमेज पास करना
  • कैशिंग: स्ट्रिंग-आधारित कैश में इमेज स्टोर करना

एक्सटेंशन फंक्शन (रीयूजेबल)

// BitmapExtensions.kt 
import android.graphics.Bitmap 
import android.util.Base64 
import java.io.ByteArrayOutputStream 

fun Bitmap.toBase64(format: Bitmap.CompressFormat = Bitmap.CompressFormat.PNG, quality: Int = 100): String { 
    val stream = ByteArrayOutputStream() 
    this.compress(format, quality, stream) 
    return Base64.encodeToString(stream.toByteArray(), Base64.DEFAULT) 
} 

fun String.toBitmap(): Bitmap? { 
    return try { 
        val bytes = Base64.decode(this, Base64.DEFAULT) 
        BitmapFactory.decodeByteArray(bytes, 0, bytes.size) 
    } catch (e: IllegalArgumentException) { 
        null 
    } 
}

उपयोग:

// एन्कोड 
val base64String = bitmap.toBase64() 

// डीकोड 
val bitmap = base64String.toBitmap() 
imageView.setImageBitmap(bitmap)

चरण 4: AndroidManifest.xml

मानक मैनिफेस्ट।

ऐप चलाएं

डिवाइस कनेक्ट करें, Run करें। drawable से इमेज लोड होकर Base64 में कन्वर्ट होगी और वापस Bitmap बनकर ImageView में दिखेगी।

Kotlin में Base64 स्ट्रिंग को Bitmap इमेज में कैसे कन्वर्ट करें?

  1. एंड्रॉइड में इमेज को Base64 स्ट्रिंग में कैसे बदलें? एंड्रॉइड में इमेज को Base64 स्ट्रिंग में कैसे बदलें?

    Bitmap को Base64 एन्कोडेड स्ट्रिंग में कनवर्ट करें यह उदाहरण दर्शाता है कि ड्रॉएबल रिसोर्स से Bitmap लोड करके Base64 स्ट्रिंग में कैसे बदलें। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनें। चरण 2: साधारण लेआउट res/layout/activity_main.xml: <?xml version=1.0 encoding=utf-

  1. एंड्रॉइड में Bitmap को Drawable में कैसे कन्वर्ट करें? एंड्रॉइड में Bitmap को Drawable में कैसे कन्वर्ट करें?

    एंड्रॉइड में Bitmap और Drawable के बीच कन्वर्जन यह उदाहरण दिखाता है कि `BitmapDrawable` क्लास का उपयोग करके Bitmap को Drawable में और Drawable को Bitmap में कैसे बदला जाता है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनकर नया प्रोजेक्ट बनाएं। चरण 2: लेआउट XML res/layout/ac

  1. एंड्रॉइड पर OCR का उपयोग करके इमेज को टेक्स्ट में कैसे बदलें एंड्रॉइड पर OCR का उपयोग करके इमेज को टेक्स्ट में कैसे बदलें

    OCR (ऑप्टिकल कैरेक्टर रिकग्निशन) तकनीक में हाल के वर्षों में काफी सुधार हुआ है। हम अब इमेज से टेक्स्ट को अधिक सटीकता से स्कैन कर सकते हैं। क्या यह अच्छा नहीं होगा यदि हम अपने मोबाइल डिवाइस पर ही इमेज को टेक्स्ट में बदल सकें? यह आपको इमेज को अपने कंप्यूटर पर अपलोड करने और इसे ऑनलाइन बदलने की परेशानी