1. ホーム
  2. android

[解決済み] sdcardから画像ファイルをビットマップに読み込む際に、NullPointerExceptionが発生するのはなぜですか?

2022-10-31 05:53:41

質問

SDカードから画像ファイルをビットマップに読み込むにはどうしたらいいですか?

 _path = Environment.getExternalStorageDirectory().getAbsolutePath();  

System.out.println("pathhhhhhhhhhhhhhhhhhhh1111111112222222 " + _path);  
_path= _path + "/" + "flower2.jpg";  
System.out.println("pathhhhhhhhhhhhhhhhhhhh111111111 " + _path);  
Bitmap bitmap = BitmapFactory.decodeFile(_path, options );  

ビットマップのNullPointerExceptionが発生します。これは、ビットマップがNULLであることを意味します。しかし、私は画像 ".jpg" ファイルが "flower2.jpg" として sdcard に保存されています。何が問題なのでしょうか?

どのように解決するのですか?

MediaStore API はおそらくアルファ チャンネルを破棄しています (つまり、RGB565 にデコードしています)。ファイル パスがある場合は、BitmapFactory を直接使用し、アルファを保持する形式を使用するように指示するだけです。

BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap bitmap = BitmapFactory.decodeFile(photoPath, options);
selected_photo.setImageBitmap(bitmap);

または

http://mihaifonoage.blogspot.com/2009/09/displaying-images-from-sd-card-in.html