12

を使ってカメラで写真を撮ります

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 を作成しようとすると、失敗します。

次を使用して、ファイルを正常に開くことができます。

        java.io.FileInputStream in = openFileInput("myfile.png");

しかし、それでは画像を設定するために必要な Uri が得られません

   iv.setImageURI(u)

概要: プライベート アプリ データの png ファイルに画像があります。それを ImageView に設定するコードは何ですか?

ありがとう。

4

6 に答える 6

33

で試してみBitmapFactory.decodeFile()setImageBitmap()くださいImageView

于 2010-04-22T10:40:41.107 に答える
8

また可能:

java.io.FileInputStream in = openFileInput("myfile.png");
iv.setImageBitmap(BitmapFactory.decodeStream(in));
于 2010-04-24T12:07:00.573 に答える
3
iv.setImageURI(Uri.fromFile(in));
于 2013-03-28T16:16:27.433 に答える
1
bitmap = BitmapFactory.decodeFile(imageInSD);
于 2012-12-31T12:59:07.203 に答える
1

なぜこのようにしないのですか:

ImageView MyImageView = (ImageView)findViewById(R.id.imageView1);
Drawable d = Drawable.createFromPath( PATH TO FILE );
MyImageView.setImageDrawable(d);
于 2013-04-14T09:43:13.250 に答える
0

decodeStream()と の間に違いはないはずdecodeFile()です。decodeFile()メソッドは入力ストリームを開き、 を呼び出しますdecodeStream()。これはすでにこのリンクで回答されています

于 2013-07-17T19:20:04.050 に答える