如何从png文件加载ImageView?

时间:2010-04-22 04:04:56

标签: android file load png imageview

我使用相机拍摄照片

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的代码是什么?

感谢。

6 个答案:

答案 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

回答了