web-dev-qa-db-ja.com

URIからビットマップを取得

「myApp経由の共有」オプションを含めました。受信アクティビティクラスに次のコードを挿入しました。

    // Get the intent that started this activity
    Intent intent = getIntent();
    Uri data = intent.getData();

    // Figure out what to do based on the intent type
    if (intent.getType().indexOf("image/") != -1) {
        // Handle intents with image data ...
}

ビットマップ画像を取得する次のステップは何ですか。

15
Robert

すでにウリを取得しているように。ビットマップを取得してそのビットマップを使用するには、getBitmap()でそのUriを渡す必要があります。

Uri imageUri = intent.getData();
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(),imageUri);
Imageview my_img_view = (Imageview ) findViewById (R.id.my_img_view);
my_img_view.setImageBitmap(bitmap);
37
Chintan Khetiya

URIからビットマップを取得するには、

Bitmap  mBitmap = Media.getBitmap(this.getContentResolver(), uri);

これがお役に立てば幸いです。

8
nikvs
Retrive bitmap from uri.....

public static Bitmap decodeUriToBitmap(Context mContext, Uri sendUri) {
        Bitmap getBitmap = null;
        try {
            InputStream image_stream;
            try {
                image_stream = mContext.getContentResolver().openInputStream(sendUri);
                getBitmap = BitmapFactory.decodeStream(image_stream);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return getBitmap;
    }
1

これを試すことができます。 onActivityResultメソッドでsetPic()を呼び出すことができます。これをアプリケーションで使用して写真を撮り、ImageViewに入れました。

private void setPic() {

    //currentPhotoPath contains path of image file.
    //visorFoto is a reference to an ImageView object.
    File file = new File(currentPhotoPath);
    Uri imageUri = Uri.fromFile(file);
    visorFoto.setImageURI(imageUri);

}
0
Jose

これは私のための仕事です

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);
}
}