為什麼 getBitmap 方法不起作用? (Why is getBitmap method not working?)


問題描述

為什麼 getBitmap 方法不起作用? (Why is getBitmap method not working?)

我是 android 的菜鳥,我想使用 SD 卡中的文件設置 ImageButton 圖像。但是,getBitmap 不會創建工作位圖。當我使用剛剛創建的位圖設置 ImageButton 時,imageButton 的尺寸會發生變化,但圖像不會出現。這真是令人沮喪,非常感謝任何幫助解決這個問題。

MYCODE

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        switch (requestCode) {
        case REQUEST_CODE:  
            // If the file selection was successful
            if (resultCode == RESULT_OK) {      
                if (data != null) {
                    // Get the URI of the selected file
                    final Uri uri = data.getData();

                    try {
                        // Create a file instance from the URI
                        final File file = FileUtils.getFile(uri);

                        Toast.makeText(Profile_Barber.this,"File Selected: "+file.getAbsolutePath(), Toast.LENGTH_LONG).show();
                        Log.e("URI", uri.toString());//Returns:  content://media/external/images/media/1834

                        Bitmap bmp = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri);

                        if(bmp==null){
                            Log.e("BMP NULL", "This that bullshit!");
                        }else{
                            Log.e("BMP NOT NULL", bmp.toString()); //Returns: BMP NOT NULL android.graphics.Bitmap@4152b5a0

                            profilepic.setImageBitmap(bmp);
                        }

 } catch (Exception e) {
                        Log.e("FileSelectorTestActivity", "File select error", e);
                        e.printStackTrace();
                    }
                }
            } 
            break;
        }
        super.onActivityResult(requestCode, resultCode, data);
    }

參考解法

方法 1:

How about using this to decode image?

        Uri contentURI = Uri.parse(data.getDataString());        
        ContentResolver cr = getContentResolver();
        InputStream in = cr.openInputStream(contentURI);
        Bitmap pic = BitmapFactory.decodeStream(in,null,null);

(by DollaBillkvh)

參考文件

  1. Why is getBitmap method not working? (CC BY‑SA 2.5/3.0/4.0)

#bitmap #Android #image #media #uri






相關問題

在 WPF 4.0 中:如何渲染到(PNG)位圖和窗口一樣好? (In WPF 4.0: How to render to a (PNG) bitmap as good as to the window?)

Android 使用手勢移動和縮放 (Android using hand gestures to move and zoom)

Android轉換為位圖崩潰 (Android Converting to bitmap crash)

本機堆不斷增加 (Native heap keeps increasing)

如何為自定義 NSImageRep 子類實現 -draw (How to implement -draw for custom NSImageRep subclass)

為什麼 getBitmap 方法不起作用? (Why is getBitmap method not working?)

這個 3x3 均值過濾器我做錯了什麼? (What am I doing wrong with this 3x3 Mean filter?)

用於顯示位圖和處理按鈕按下的簡單框架 (Simple Frameworks for Displaying Bitmaps and Handling Button Presses)

如何在Android中位圖壓縮後保存Exif數據 (How to save Exif data after bitmap coppression in Android)

運行幾幀後位圖動畫停止工作 (Bitmap animation stops working, after running a few frames)

Silverlight PrtScr 一些控件 (Silverlight PrtScr some controls)

如何使用 PdfiumViewer 將 PDF 轉換為位圖圖像? (How to convert a PDF to a Bitmap image using PdfiumViewer?)







留言討論