0
イメージをsdcardからキャンバスにロードするにはどうすればよいですか?私はこのコードを試して、それは動作していません。イメージをsdcardからキャンバスに読み込むことができません
Uri selectedImage = data.getData();
if (selectedImage == null) {
Log.e(getString(R.string.app_name), "selected image uri is null");
return;
}
String[] filePath = { MediaStore.Images.Media.DATA };
Cursor cursor = getActivity().getContentResolver().query(selectedImage, filePath, null, null, null);
if(cursor==null){
Log.e(getString(R.string.app_name), "image cursor is null");
return;
}
cursor.moveToFirst();
String imagePath = cursor.getString(cursor.getColumnIndex(filePath[0]));
cursor.close();
Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
Bitmap bitmap2 = Bitmap.createBitmap(bitmap.getHeight(),bitmap.getWidth(),bitmap.getConfig());
mCanvas.setBitmap(bitmap2);
Paint p = new Paint();
mCanvas.drawBitmap(bitmap,0,0,p);
詳細はお問い合わせください。 誰でもこのコードで何が間違っているかを伝えることができます。どんな助けもありがとう。
@CommonsWareIが変更されましたコードはあなたが言ったように、画像の読み込みを非同期タスクに移しました。私は、デバッガのキャンバスにロードされたビットマップを見ることができます。それは画面に表示されていません。 – Sony
@sony: 'Bitmap'が正しく読み込まれるまで、' ImageView'に一時的にロードしたいかもしれません。 'new Paint()'の代わりに 'null'を渡すことも考えられます。 – CommonsWare
イメージビューにイメージをロードしようとしましたが、動作していますが、なぜキャンバスがイメージで表示されないのか分かりません。 – Sony