を使ってカメラで写真を撮ります
Intent intent = new Intent(Android.provider.MediaStore.ACTION_IMAGE_CAPTURE );
startActivityForResult( intent, 22 );
アクティビティが完了したら、ビットマップ画像をPNGファイルに書き込みます。
Java.io.FileOutputStream out = openFileOutput("myfile.png", Context.MODE_PRIVATE);
bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
これで問題ありません。ファイルがアプリのプライベートデータスペースに作成されていることがわかります。
後でImageViewを使用してその画像を表示したいときに問題が発生します。
誰かがこれを行うためのコードを提案できますか?
パス区切り文字を使用してファイルを作成しようとすると、失敗します。区切り文字のない名前からURIを作成しようとすると、失敗します。
I canファイルを開くOK:
Java.io.FileInputStream in = openFileInput("myfile.png");
しかし、それは私がイメージを設定する必要があるUriを私に与えません
iv.setImageURI(u)
概要:プライベートアプリデータのpngファイルに画像があります。それをImageViewに設定するためのコードは何ですか?
ありがとう。
ImageView
でBitmapFactory.decodeFile()
を試してからsetImageBitmap()
を試してください。
また可能:
Java.io.FileInputStream in = openFileInput("myfile.png");
iv.setImageBitmap(BitmapFactory.decodeStream(in));
iv.setImageURI(Uri.fromFile(in));
なぜこのようにしないのですか?
ImageView MyImageView = (ImageView)findViewById(R.id.imageView1);
Drawable d = Drawable.createFromPath( PATH TO FILE );
MyImageView.setImageDrawable(d);
bitmap = BitmapFactory.decodeFile(imageInSD);
decodeStream()
とdecodeFile()
の間に違いはありません。 decodeFile()
メソッドは入力ストリームを開き、decodeStream()
を呼び出します。これはすでにこれで答えられました リンク