android - उड़ी से बिटमैप कैसे प्राप्त करें?




uri android-image (6)

आप यह संरचना कर सकते हैं:

protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
    super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
    switch(requestCode) {
        case 0:
            if(resultCode == RESULT_OK){
                    Uri selectedImage = imageReturnedIntent.getData();
                    Bundle extras = imageReturnedIntent.getExtras();
                    bitmap = extras.getParcelable("data");
            }
            break;
   }

इसके द्वारा आप आसानी से यूरी को बिटमैप में बदल सकते हैं उम्मीद है कि आप यू

उरी से बिटमैप ऑब्जेक्ट कैसे प्राप्त करें (अगर मैं इसे /data/data/MYFOLDER/myimage.png या file///data/data/MYFOLDER/myimage.png में संग्रहीत करने में सफल होता है) इसे मेरे आवेदन में उपयोग करने के लिए?

क्या किसी को यह पूरा करने के लिए एक विचार है?


नीचे की तरह startActivityForResult metod का उपयोग करें

        startActivityForResult(new Intent(Intent.ACTION_PICK).setType("image/*"), PICK_IMAGE);

और आप इस तरह से परिणाम प्राप्त कर सकते हैं:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode != RESULT_OK) {
        return;
    }
    switch (requestCode) {
        case PICK_IMAGE:
            Uri imageUri = data.getData();
            try {
                Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri);
            } catch (IOException e) {
                e.printStackTrace();
            }
         break;
    }
}

मोबाइल गैलरी से छवि यूरी प्राप्त करने की पूरी पद्धति .....

एक्टिवेटिव रिजल्ट पर संरक्षित शून्य (इंट अनुरोध कोड, इंक परिणाम, कोड, आशय डेटा) {super.onActivityResult (requestCode, resultCode, डेटा);

        if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
            Uri filePath = data.getData();

                try {
                    //Getting the Bitmap from Gallery
                    Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath);
                    rbitmap = getResizedBitmap(bitmap, 250);//Setting the Bitmap to ImageView
                    userImage = getStringImage(rbitmap);
                    imageViewUserImage.setImageBitmap(rbitmap);
                } catch (IOException e) {
                    e.printStackTrace();
                }


        }

}


यह करने का सही तरीका यहां है:

protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK)
    {
        Uri imageUri = data.getData();
        Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri);
    }
}

यदि आपको बहुत बड़ी छवियां लोड करने की आवश्यकता है, तो निम्न कोड इसे टाइल्स में लोड करेगा (बड़े स्मृति आवंटन से बचने):

BitmapRegionDecoder decoder = BitmapRegionDecoder.newInstance(myStream, false);  
Bitmap region = decoder.decodeRegion(new Rect(10, 10, 50, 50), null);

यहां उत्तर देखें


try
{
    Bitmap bitmap = MediaStore.Images.Media.getBitmap(c.getContentResolver() , Uri.parse(paths));
}
catch (Exception e) 
{
    //handle exception
}

और हां पथ इस तरह की प्रारूप में होना चाहिए

file:///mnt/sdcard/filename.jpg


 private void uriToBitmap(Uri selectedFileUri) {
        try {
            ParcelFileDescriptor parcelFileDescriptor =
                    getContentResolver().openFileDescriptor(selectedFileUri, "r");
            FileDescriptor fileDescriptor = parcelFileDescriptor.getFileDescriptor();
            Bitmap image = BitmapFactory.decodeFileDescriptor(fileDescriptor);


            parcelFileDescriptor.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }




android-bitmap