可能重复:
从相机捕获图像并在活动中显示
我是android编程的新手,我遇到了一些问题。我有一个 ImageView 没有加载任何图像,当我用相机拍照时,捕获的图像会放入 ImageView。我想保存这个,但我不知道如何将照片的目录保存在字符串中,以及如何在“onCreate”的 imageView 中加载这个目录。
我知道这是一个菜鸟提示,但这是我第一次使用这些东西。
谢谢
可能重复:
从相机捕获图像并在活动中显示
我是android编程的新手,我遇到了一些问题。我有一个 ImageView 没有加载任何图像,当我用相机拍照时,捕获的图像会放入 ImageView。我想保存这个,但我不知道如何将照片的目录保存在字符串中,以及如何在“onCreate”的 imageView 中加载这个目录。
我知道这是一个菜鸟提示,但这是我第一次使用这些东西。
谢谢
此代码会将您的 ImageView 作为位图
ImageView imgView = (ImageView) findViewById(R.id.myImageView);
imgView.setDrawingCacheEnabled(true);
bitmap = Bitmap.createBitmap(imgView.getDrawingCache());
File root = Environment.getExternalStorageDirectory();
File cachePath = new File(root.getAbsolutePath() + "/your_app_package/image.png");
此代码会将其保存到文件中
try {
FileOutputStream out = new FileOutputStream(cachePath);
bitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
} catch (Exception e) {
e.printStackTrace();
}
我做这样的事情:
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
picture.compress(Bitmap.CompressFormat.JPEG, 80, bytes);
File f = new File(Environment.getExternalStorageDirectory() + File.separator + picId + ".jpg");
FileOutputStream fo = null;
try
{
f.createNewFile();
fo = new FileOutputStream(f);
}
catch (IOException e)
{
e.printStackTrace();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
try
{
fo.write(bytes.toByteArray());
}
catch (IOException e)
{
e.printStackTrace();
}
...其中 picId 是文件的名称。