質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

1回答

4841閲覧

Bitmap(画像)を取得したい

MasakiSakamoto

総合スコア13

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2017/09/07 08:19

画像のUriを取得していることはデバッグ実行して確認が取れているのでBitmap(実際の画像)を取得したいのですが、どう処理を書けば良いのかわかりませんでした。
自分が調べた範囲ではBitmapFactory.decode...あたりを使うみたいなのですが、解決に至りませんでした。

Java

1public class Fragment_DialogChangePic extends DialogFragment { 2 3 private static final int REQUEST_GALLERY = 1; 4 private static final int REQUEST_ACTION_PICK = 2; 5 private static final int REQUEST_PICK_PICTURE = 3; 6 private static final int READ_REQUEST_CODE = 4; 7 8 public static Fragment_DialogChangePic newInstance() { 9 return new Fragment_DialogChangePic(); 10 } 11 12 @Override 13 public void onCreate(Bundle savedInstanceState) { 14 super.onCreate(savedInstanceState); 15 } 16 17 /** 18 * ダイアログコンテナを生成 19 */ 20 @Override 21 public Dialog onCreateDialog(final Bundle savedInstanceState) { 22 Dialog dialog = new Dialog(getActivity()); 23 dialog.setContentView(R.layout.fragment_custom_dialog); 24 25 dialog.findViewById(R.id.cancel_action).setOnClickListener(new View.OnClickListener() { 26 @Override 27 public void onClick(View view) { 28 dismiss(); 29 } 30 }); 31 32 dialog.findViewById(R.id.pickfromgallery).setOnClickListener(new View.OnClickListener() { 33 @Override 34 public void onClick(View view) { 35 36 Intent intent = new Intent(); 37 intent.setType("image/*"); 38 intent.setAction(Intent.ACTION_GET_CONTENT); 39 startActivityForResult(intent, READ_REQUEST_CODE); 40 } 41 }); 42 43 //ダイアログ外タップで消えないように設定 44 dialog.setCanceledOnTouchOutside(false); 45 46 return dialog; 47 } 48 49 private String getGalleryPath() { 50 return Environment.getExternalStorageDirectory() + "/" + Environment.DIRECTORY_DCIM; 51 } 52 53 @Override 54 public void onActivityResult(int requestCode, int resultCode, Intent resultData) { 55 56 if (requestCode == READ_REQUEST_CODE && resultCode == Activity.RESULT_OK) { 57 Uri uri = null; 58 if (resultData != null) { 59 uri = resultData.getData(); 60 Log.i("", "Uri: " + uri.toString()); 61// TODO Bitmapから画像を取得 62// BitmapFactory.decodeFile() 63 } 64 } 65 } 66 67} 68

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

まず、質問者様のおっしゃる通りにbitmapを得る方法を挙げます。
Bitmapをgetしたいということは、画像を表示するのが目的ということでよろしいでしょうか?
まず、簡単にuriからBitmapを得る方法としては、onActivityResult内にて

java

1uri = resultData.getData(); 2Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri);

で取得することができます。ですので、このbitmapを表示するなり変更するなりすれば良いことになります。
MediaStoreのgetBitmapについては[こちらのドキュメント](https://developer.android.com/reference/android/provider/MediaStore.Images.Media.html#getBitmap(android.content.ContentResolver, android.net.Uri))をお読みください。


次に、bitmapを画像としてImageViewに表示することを前提に話しますが、こちらのGlideというライブラリをお使いになると画像表示周りを自動的に行ってくれるのでとても手軽になるかと思います。以下のように使用することで、画像を表示することができます。

java

1uri = resultData.getData(); 2Glide.with(context).load(uri).into(/*画像を表示したいimageView*/);

使い方はこちらの記事を参考にするとよろしいかと思います。

投稿2017/09/07 15:23

hiramekun

総合スコア428

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問