我使用相机拍摄照片
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);
没关系,我可以看到该文件是在我的app私有数据空间中创建的。
当我以后想要使用ImageView显示该图像时,我遇到了困难。
有人可以建议代码来执行此操作吗?
如果我尝试使用路径分隔符创建文件,则会失败。 如果我尝试从没有分隔符的名称创建一个Uri,那就失败了。
我可以使用以下方式打开文件:
java.io.FileInputStream in = openFileInput("myfile.png");
但这并没有给我Uri我需要用
设置图像 iv.setImageURI(u)
摘要:我将图片放在私人应用数据的png文件中。将其设置为ImageView的代码是什么?
感谢。
答案 0 :(得分:33)
在BitmapFactory.decodeFile()
上尝试setImageBitmap()
然后ImageView
。
答案 1 :(得分:8)
也可能:
java.io.FileInputStream in = openFileInput("myfile.png");
iv.setImageBitmap(BitmapFactory.decodeStream(in));
答案 2 :(得分:3)
iv.setImageURI(Uri.fromFile(in));
答案 3 :(得分:1)
bitmap = BitmapFactory.decodeFile(imageInSD);
答案 4 :(得分:1)
为什么不这样:
ImageView MyImageView = (ImageView)findViewById(R.id.imageView1);
Drawable d = Drawable.createFromPath( PATH TO FILE );
MyImageView.setImageDrawable(d);
答案 5 :(得分:0)
decodeStream()
和decodeFile()
之间应该没有区别。 decodeFile()
方法打开输入流并调用decodeStream()
。这已经在link